An error occurred while processing the template.
The following has evaluated to null or missing: ==> socialBookmarksTypes [in template "10136#10174#29264574" at line 192, column 26] ---- 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: @liferay_social_bookmarks["bookmarks"... [in template "10136#10174#29264574" in macro "getSocialBookmarks" at line 186, column 9] - Reached through: @getSocialBookmarks [in template "10136#10174#29264574" at line 44, column 25] ----
1<#if !entries?has_content>
2 <#if !themeDisplay.isSignedIn()>
3${renderRequest.setAttribute("PORTLET_CONFIGURATOR_VISIBILITY", true)} ${renderRequest.setAttribute("PORTLET_CONFIGURATOR_VISIBILITY", true)}
4 </#if>
5
6 <div class="alert alert-info">
7 <@liferay_ui["message"] key="there-are-no-results" />
8 </div>
9</#if>
10
11<#list entries as entry>
12 <#assign
13entry = entry
14
15assetRenderer = entry.getAssetRenderer()
16
17entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale))
18
19viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, entry, !stringUtil.equals(assetLinkBehavior, "showFullContent"))
20/>
21
22 <div class="asset-abstract">
23 <div class="pull-right">
24 <@getPrintIcon />
25
26 <@getFlagsIcon />
27
28 <@getEditIcon />
29 </div>
30
31 <h3 class="asset-title">
32 <a href="${viewURL}">
33${entryTitle}
34 </a>
35 </h3>
36
37 <@getMetadataField fieldName="tags" />
38
39 <@getMetadataField fieldName="create-date" />
40
41 <@getMetadataField fieldName="view-count" />
42
43 <div class="asset-content">
44 <@getSocialBookmarks />
45
46 <div class="asset-summary">
47 <@getMetadataField fieldName="author" />
48
49${htmlUtil.escape(assetRenderer.getSummary(renderRequest, renderResponse))}
50
51 <a href="${viewURL}"><@liferay.language key="read-more" /><span class="hide-accessible"><@liferay.language key="about" />${entryTitle}</span> »</a>
52 </div>
53
54 <@getRatings />
55
56 <@getRelatedAssets />
57
58 <@getDiscussion />
59 </div>
60 </div>
61</#list>
62
63<#macro getDiscussion>
64 <#if getterUtil.getBoolean(enableComments) && assetRenderer.isCommentable()>
65 <br />
66
67 <@liferay_comment["discussion"]
68className=entry.getClassName()
69classPK=entry.getClassPK()
70formName="fm" + entry.getClassPK()
71ratingsEnabled=getterUtil.getBoolean(enableCommentRatings)
72redirect=currentURL
73userId=assetRenderer.getUserId()
74/>
75 </#if>
76</#macro>
77
78<#macro getEditIcon>
79 <#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())>
80 <#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("NORMAL"), themeDisplay.getURLCurrent())!"" />
81
82 <#if validator.isNotNull(editPortletURL)>
83 <#assign title = languageUtil.format(locale, "edit-x", entryTitle, false) />
84
85 <@liferay_ui["icon"]
86cssClass="icon-monospaced visible-interaction"
87icon="pencil"
88markupView="lexicon"
89message=title
90url=editPortletURL.toString()
91/>
92 </#if>
93 </#if>
94</#macro>
95
96<#macro getFlagsIcon>
97 <#if getterUtil.getBoolean(enableFlags)>
98 <@liferay_flags["flags"]
99className=entry.getClassName()
100classPK=entry.getClassPK()
101contentTitle=entry.getTitle(locale)
102label=false
103reportedUserId=entry.getUserId()
104/>
105 </#if>
106</#macro>
107
108<#macro getMetadataField
109fieldName
110>
111 <#if stringUtil.split(metadataFields)?seq_contains(fieldName)>
112 <span class="metadata-entry metadata-${fieldName}">
113 <#assign dateFormat = "dd MMM yyyy - HH:mm:ss" />
114
115 <#if stringUtil.equals(fieldName, "author")>
116 <@liferay.language key="by" /> ${htmlUtil.escape(portalUtil.getUserName(assetRenderer.getUserId(), assetRenderer.getUserName()))}
117 <#elseif stringUtil.equals(fieldName, "categories")>
118 <@liferay_asset["asset-categories-summary"]
119className=entry.getClassName()
120classPK=entry.getClassPK()
121portletURL=renderResponse.createRenderURL()
122/>
123 <#elseif stringUtil.equals(fieldName, "create-date")>
124${dateUtil.getDate(entry.getCreateDate(), dateFormat, locale)}
125 <#elseif stringUtil.equals(fieldName, "expiration-date")>
126${dateUtil.getDate(entry.getExpirationDate(), dateFormat, locale)}
127 <#elseif stringUtil.equals(fieldName, "modified-date")>
128${dateUtil.getDate(entry.getModifiedDate(), dateFormat, locale)}
129 <#elseif stringUtil.equals(fieldName, "priority")>
130${entry.getPriority()}
131 <#elseif stringUtil.equals(fieldName, "publish-date")>
132${dateUtil.getDate(entry.getPublishDate(), dateFormat, locale)}
133 <#elseif stringUtil.equals(fieldName, "tags")>
134 <@liferay_asset["asset-tags-summary"]
135className=entry.getClassName()
136classPK=entry.getClassPK()
137portletURL=renderResponse.createRenderURL()
138/>
139 <#elseif stringUtil.equals(fieldName, "view-count")>
140 ${entry.getViewCount()} <@liferay.language key="views" />
141 </#if>
142 </span>
143 </#if>
144</#macro>
145
146<#macro getPrintIcon>
147 <#if getterUtil.getBoolean(enablePrint)>
148 <#assign printURL = renderResponse.createRenderURL() />
149
150${printURL.setParameter("mvcPath", "/view_content.jsp")}
151${printURL.setParameter("assetEntryId", entry.getEntryId()?string)}
152${printURL.setParameter("viewMode", "print")}
153${printURL.setParameter("type", entry.getAssetRendererFactory().getType())}
154${printURL.setWindowState("pop_up")}
155
156 <@liferay_ui["icon"]
157icon="print"
158markupView="lexicon"
159message="print"
160 url="javascript:Liferay.Util.openWindow({id:'" + renderResponse.getNamespace() + "printAsset', title: '" + languageUtil.format(locale, "print-x-x", ["hide-accessible", entryTitle], false) + "', uri: '" + htmlUtil.escapeURL(printURL.toString()) + "'});"
161/>
162 </#if>
163</#macro>
164
165<#macro getRatings>
166 <#if getterUtil.getBoolean(enableRatings) && assetRenderer.isRatable()>
167 <div class="asset-ratings">
168 <@liferay_ui["ratings"]
169className=entry.getClassName()
170classPK=entry.getClassPK()
171/>
172 </div>
173 </#if>
174</#macro>
175
176<#macro getRelatedAssets>
177 <#if getterUtil.getBoolean(enableRelatedAssets)>
178 <@liferay_asset["asset-links"]
179assetEntryId=entry.getEntryId()
180viewInContext=!stringUtil.equals(assetLinkBehavior, "showFullContent")
181/>
182 </#if>
183</#macro>
184
185<#macro getSocialBookmarks>
186 <@liferay_social_bookmarks["bookmarks"]
187className=entry.getClassName()
188classPK=entry.getClassPK()
189displayStyle="${socialBookmarksDisplayStyle}"
190target="_blank" target="_blank"
191title=entry.getTitle(locale)
192types="${socialBookmarksTypes}"
193url=viewURL
194/>
195</#macro>