Fehler bei der Verarbeitung der Vorlage.
The following has evaluated to null or missing:
==> assetRenderer.getArticle [in template "20095#20120#44669" at line 8, column 19]
----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: article = assetRenderer.getArticle() [in template "20095#20120#44669" at line 8, column 9]
----
1<div class="row widget-mode-card">
2 <#if entries?has_content>
3 <#list entries as curEntry>
4
5<#assign
6 assetRenderer = curEntry.getAssetRenderer()
7 assetObject = assetRenderer.getAssetObject()
8 article = assetRenderer.getArticle()
9 img = article.getArticleImageURL(themeDisplay)
10 title = curEntry.getTitle(locale)
11 userId = assetRenderer.getUserId()
12 <!--date = assetRenderer.getDisplayDate()?date-->
13
14 author = portalUtil.getUserName(assetRenderer.getUserId(), assetRenderer.getUserName())
15 abstract = assetRenderer.getSummary()
16 viewcount = curEntry.getViewCount()
17 viewURL = (!stringUtil.equals(assetLinkBehavior, "showFullContent"))?then(assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry, true), assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry))
18/>
19
20
21
22
23
24 ${request.setAttribute("viewURL", viewURL )}
25 ${request.setAttribute("author", portalUtil.getUserName(assetRenderer.getUserId(), assetRenderer.getUserName()) )}
26
27
28
29
30<div class="col-lg-4">
31 <div class="card">
32
33 <div class="card-header">
34 <a href="${viewURL}">
35 <img src="${img}" width="100%"/>
36 </a>
37
38 </div>
39
40
41 <div class="card-body widget-topbar">
42 <div class="autofit-row card-title">
43 <div class="autofit-col autofit-col-expand">
44 <a href="${viewURL}">
45 <h1>${title}</h1>
46 </a>
47
48 </div>
49
50
51 <div class="autofit-col visible-interaction">
52 <div class="dropdown dropdown-action">
53 <@liferay_ui["icon-menu"]
54 direction="left-side"
55 icon=""
56 markupView="lexicon"
57 message=""
58 showWhenSingleIcon=true
59 >
60
61
62
63 <#assign editEntryPortletURL = renderResponse.createRenderURL() />
64<#--
65 ${editEntryPortletURL.setWindowState(windowStateFactory.getWindowState("MAXIMIZED"))}
66 ${editEntryPortletURL.setParameter("mvcRenderCommandName", "/edit_article.jsp")}
67 ${editEntryPortletURL.setParameter("redirect", currentURL)}
68 ${editEntryPortletURL.setParameter("referringPortletResource", referringPortletResource?string)}
69 ${editEntryPortletURL.setParameter("entryId", curEntry.getEntryId()?string)}
70 ${editEntryPortletURL.setParameter("groupId", article.getGroupId()?string)}
71 ${editEntryPortletURL.setParameter("folderId", article.getFolderId()?string)}
72 ${editEntryPortletURL.setParameter("articleId", article.getArticleId())}
73 ${editEntryPortletURL.setParameter("version", article.getVersion()?string)}
74
75-->
76
77
78 <@liferay_ui["icon"]
79 label=true
80 message="edit"
81 url=editEntryPortletURL.toString()
82 />
83
84
85 </@>
86
87 </div>
88 </div>
89
90 </div>
91
92 <div class="autofit-row widget-metadata">
93 <div class="autofit-col inline-item-before">
94 <@liferay_ui["user-portrait"]
95 userId=curEntry.userId
96 userName=curEntry.userName
97 />
98 </div>
99
100 <div class="autofit-col autofit-col-expand">
101 <div class="autofit-row">
102 <div class="autofit-col autofit-col-expand">
103 <#if serviceLocator??>
104 <#assign
105 userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService")
106
107 entryUser = userLocalService.fetchUser(curEntry.getUserId())
108 />
109
110 <#if entryUser?? && !entryUser.isDefaultUser()>
111 <#assign entryUserURL = entryUser.getDisplayURL(themeDisplay) />
112 </#if>
113 </#if>
114
115 <div class="text-truncate-inline">
116 <a href="${(entryUserURL?? && validator.isNotNull(entryUserURL))?then(entryUserURL, "")}" class="text-truncate username">${curEntry.getUserName()}</a>
117 </div>
118
119 <@liferay_ui["message"] arguments=curEntry.getViewCount() key=(curEntry.getViewCount()==0)?then("x-view", "x-views") />
120
121 <div>
122
123 </div>
124
125
126
127
128 </div>
129 </div>
130 </div>
131 </div>
132
133 <p class="widget-resume">${abstract}</p>
134 <p></p>
135
136 <div class="card-footer">
137 <div class="card-row">
138 <div class="autofit-float autofit-row autofit-row-center widget-toolbar">
139
140 <div class="autofit-col">
141
142
143 </div>
144
145
146
147
148
149
150 </div>
151 </div>
152 </div>
153
154
155
156 </div>
157 </div>
158</div>
159 </#list>
160
161 ${request.setAttribute("abstract", "" )}
162 ${request.setAttribute("viewcount", "" )}
163 ${request.setAttribute("author", "" )}
164 ${request.setAttribute("viewURL", "" )}
165 ${request.setAttribute("userId", "" )}
166
167</#if>