Um erro ocorreu enquanto processava o modelo.
Java method "com.liferay.journal.web.internal.asset.model.JournalArticleAssetRenderer.getTitle(Locale)" threw an exception when invoked on com.liferay.journal.web.internal.asset.model.JournalArticleAssetRenderer object "com.liferay.journal.web.internal.asset.model.JournalArticleAssetRenderer@44cd869"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign entryTitle = htmlUtil.escape(... [in template "20154#20194#26151" at line 52, column 5]
----
1<!-- ADT PUBLICADOR DE CONTEÚDOS E MÍDIAS -->
2<#assign vocabularyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")>
3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
4<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")>
5<#assign companyLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.CompanyLocalService")>
6
7<#assign group = groupLocalService.getGroup(groupId)>
8<#assign noticia_destaque = true />
9<#assign dateDayFormat = "dd" />
10<#assign dateMonthFormat = "MMM" />
11<#assign dateYearFormat = "yyyy" />
12<#assign targetFriendlyURL = "noticias-por-categoria" />
13<#assign targetFriendlyURLVideo = "videos-por-categoria" />
14<#assign targetViewUrl = "conteudo-aberto" />
15<#assign targetViewUrlVideo = "video-aberto" />
16
17<!-- targetPortletID dos Campus -->
18<#assign targetPortletIDCampusGaspar = "iktSPT1y33wn" />
19<#assign targetPortletIDVideoCampusGaspar = "vaqEGmvO4XIp" />
20
21<#assign targetPortletIDCampusArarangua = "0LDjLof5rS7r" />
22
23<#-- --------------------------------------------------------------->
24<!-- targetPortletID Aberto -->
25<#assign targetPortletID = "1UWKZAkiOauK" />
26<#assign targetPortletIDVideo = "yPDbuoUoEZAI" />
27
28<#assign friendlyURL = group.getFriendlyURL()>
29<#assign isWebURL = (friendlyURL != "/guest") />
30<#assign currentURL = themeDisplay.getURLCurrent() />
31<#assign isHomePortal = (currentURL == "/web/guest" || currentURL == "/" || currentURL?contains("/inicio")) />
32<#assign isHomeNoticias = (currentURL == "/noticias" || currentURL?contains("/noticias")) />
33<#assign isHomeVideos = (currentURL == "/videos" || currentURL?contains("/videos")) />
34<#assign isIfscTV = (currentURL == "/ifsctv" || currentURL?contains("/ifsctv")) />
35<#assign campusName = friendlyURL />
36
37<#function getViewURL assetRenderer>
38 <#local assetGroupFriendlyURL = groupLocalService.getGroup(assetRenderer.getGroupId()).getFriendlyURL() />
39 <#return "/web${assetGroupFriendlyURL}/w/${assetRenderer.getUrlTitle()}" />
40</#function>
41
42<#assign company = companyLocalService.getCompany(companyId) />
43<#assign globalGroupId = company.getGroup().getGroupId() />
44<#assign destaqueOuMancheteVocabulary = vocabularyService.fetchGroupVocabulary(globalGroupId, "Destaque ou Manchete") />
45
46<#-- Define the list of category names to exclude -->
47<#assign excludedCategoryNames = ["Notícias", "Noticia", "Vídeo", "Todos os sites", "Blog", "Portal do Servidor"] />
48
49<#list entries as entry>
50 <#assign entry = entry />
51 <#assign assetRenderer = entry.getAssetRenderer() />
52 <#assign entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) />
53 <#assign categories = entry.getCategories()>
54 <#assign article = journalArticleLocalService.getLatestArticle(entry.getClassPK())/>
55 <#assign document = saxReaderUtil.read(article.getContent())/>
56 <#assign rootElement = document.getRootElement() />
57 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='artigoFieldSet']") />
58 <#assign conteudoDoArtigo = xPathSelector.selectSingleNode(rootElement).getStringValue() />
59 <#assign videoDoArtigo = xPathSelector.selectSingleNode(rootElement).selectSingleNode("dynamic-element[@name='id_do_video']").getStringValue() />
60 <#assign hasVideoArtigo = (videoDoArtigo?length > 10) />
61
62 <#assign filteredCategories = [] />
63 <#list categories as category>
64 <#if (category.getVocabularyId() != destaqueOuMancheteVocabulary.getVocabularyId()) && !(excludedCategoryNames?seq_contains(category.name))>
65 <#assign filteredCategories = filteredCategories + [category] />
66 </#if>
67 </#list>
68
69 <#assign nome_chapeu = "" />
70
71 <#if xPathSelector.selectSingleNode(rootElement).selectSingleNode("dynamic-element[@name='nome_chapeu']")?? >
72 <#assign nome_chapeu = xPathSelector.selectSingleNode(rootElement).selectSingleNode("dynamic-element[@name='nome_chapeu']").getStringValue() />
73 </#if>
74
75 <#assign urlThumb = entry.getAssetRenderer().getThumbnailPath(renderRequest)!""/>
76 <#assign hasThumb = urlThumb?has_content>
77
78 <#-- Use UTF-8 charset for URL escaping from now: -->
79 <#setting url_escaping_charset="UTF-8">
80
81 <#assign viewURL = getViewURL(assetRenderer) />
82
83 <#switch campusName>
84 <#case "/campus-gaspar">
85 <#assign viewURLVideo = "/web${friendlyURL}/${targetViewUrlVideo}/-/asset_publisher/${targetPortletIDVideoCampusGaspar}/content/id/${entry.getEntryId()}" />
86 <#break>
87 <#default>
88 <#assign viewURLVideo = "/${targetViewUrlVideo}/-/asset_publisher/${targetPortletIDVideo}/content/id/${entry.getEntryId()}" />
89 </#switch>
90
91 <#assign hasZero = false >
92 <#list filteredCategories as category>
93 <#assign categoryIndex = category_index />
94 <#assign isZero = (categoryIndex == 0)>
95 <#if (isZero) >
96 <#assign hasZero = true >
97 <#break>
98 </#if>
99 </#list>
100
101 <#assign hasFirst = false >
102 <#list filteredCategories as category>
103 <#assign categoryIndex = category_index />
104 <#assign isFirst = (categoryIndex == 1)>
105 <#if (isFirst) >
106 <#assign hasFirst = true >
107 <#break>
108 </#if>
109 </#list>
110
111 <#assign hasSecond = false >
112 <#list categories as category>
113 <#assign categoryIndex = category_index />
114 <#assign hasSecond = (categoryIndex == 2)>
115 <#if (hasSecond) >
116 <#assign hasSecond = true >
117 <#break>
118 </#if>
119 </#list>
120
121 <#assign hasThird = false >
122 <#list filteredCategories as category>
123 <#assign categoryIndex = category_index />
124 <#assign hasThird = (categoryIndex == 3)>
125 <#if (hasThird) >
126 <#assign hasThird = true >
127 <#break>
128 </#if>
129 </#list>
130
131 <#assign chapeuCategory = ""/>
132 <#assign hasCategory = false>
133
134
135 <#list filteredCategories as category>
136 <#assign hasCategory = true>
137 <#assign hasChapeu = (nome_chapeu?trim?upper_case == category.name?upper_case) >
138 <#if hasChapeu>
139 <#assign chapeuCategory = category/>
140 <#break>
141 </#if>
142 <#assign categoryIndex = category_index />
143 <#if !hasChapeu>
144 <#if hasZero >
145 <#if categoryIndex == 0 >
146 <#assign chapeuCategory = category/>
147 </#if>
148 </#if>
149 <#if hasFirst == true && hasZero == false>
150 <#if categoryIndex == 1 >
151 <#assign chapeuCategory = category/>
152 </#if>
153 </#if>
154 <#if hasSecond == true && hasFirst == false && hasZero == false>
155 <#if categoryIndex == 2 >
156 <#assign chapeuCategory = category/>
157 </#if>
158 </#if>
159 <#if hasThird == true && hasSecond == false && hasFirst == false && hasZero == false>
160 <#if categoryIndex == 3 >
161 <#assign chapeuCategory = category/>
162 </#if>
163 </#if>
164 <#if hasThird == false && hasSecond == false && hasFirst == false && hasZero == false>
165 <#assign chapeuCategory = category/>
166 </#if>
167 </#if>
168 </#list>
169
170 <#if hasCategory >
171 <#assign chapeuCategoryId = chapeuCategory.getCategoryId() />
172 <#assign instancePortletId = "?p_p_id=122_INSTANCE_pDpvw9aOr6wg&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-2&p_r_p_resetCur=true&p_r_p_categoryId=${chapeuCategoryId}" />
173 <#assign chapeuCategoryNameUpperCase = chapeuCategory.name?upper_case />
174 </#if>
175
176 <#assign chapeuNameUpperCase = nome_chapeu?upper_case />
177 <div id="entryIdManchete" style="display: none">${entry.getEntryId()}</div>
178 <#if (isHomePortal) >
179 <div class="news-home">
180
181 <h2>Notícias</h2>
182
183 <div class="row-fluid">
184 <#list entries as entry>
185 <#assign entry = entry />
186 <#assign assetRenderer = entry.getAssetRenderer() />
187 <#assign entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) />
188 <#assign categories = entry.getCategories()>
189 <#assign hasManchete = false >
190
191 <#list categories as category>
192 <#if category.name == "Manchete Portal">
193 <#assign hasManchete = true >
194 </#if>
195 </#list>
196
197 <#assign urlThumb = entry.getAssetRenderer().getThumbnailPath(renderRequest)!""/>
198 <#assign hasThumb = urlThumb?has_content>
199
200 <#if (hasManchete) >
201
202 <div class="span12">
203 <h6>
204 <#list categories as category>
205 <#if category.name != "Destaque Portal" && category.name != "Notícias" && category.getName() != "Manchete Portal" && category.getName() != "Noticia" && category.getName() != "Destaque Todos os sites" && category.getName() != "Manchete Todos os sites" && category.getName() != "Destaque Portal do Servidor" && category.getName() != "Manchete Portal do Servidor">
206 <#assign hasCategory = true>
207 <#if (videoDoArtigo?length > 10)>
208 <#assign targetFriendlyURL = targetFriendlyURLVideo />
209 <#break>
210 </#if>
211 </#if>
212 </#list>
213
214 <#if (isWebURL) >
215 <#if (hasCategory) >
216 <a class="tag" href="/web${friendlyURL}/${targetFriendlyURL}${instancePortletId}">${chapeuCategoryNameUpperCase}</a>
217 </#if>
218 <#if (!hasCategory) >
219 <a class="tag">${chapeuNameUpperCase}</a>
220 </#if>
221 </#if>
222 <#if (!isWebURL) >
223 <#if (hasCategory) >
224 <a class="tag" href="/${targetFriendlyURL}${instancePortletId}">${chapeuCategoryNameUpperCase}</a>
225 </#if>
226 <#if (!hasCategory) >
227 <a class="tag">${chapeuNameUpperCase}</a>
228 </#if>
229 </#if>
230
231 <span>
232 <p>${dateUtil.getDate(entry.getPublishDate(), dateDayFormat, locale)} ${dateUtil.getDate(entry.getPublishDate(), dateMonthFormat, locale)?lower_case} ${dateUtil.getDate(entry.getPublishDate(), dateYearFormat, locale)}</p>
233 </span>
234 </h6>
235
236 <#if hasThumb >
237 <div class="img span12" style="background-image:url(${urlThumb});"></div>
238 </#if>
239
240 <div class="lfr-meta-actions asset-actions"><@getEditIcon /></div>
241 <a href="${viewURL}">
242 <h5>${entryTitle}</h5>
243 <#assign hasSummary = (entry.getSummary(locale)?has_content) />
244 <#if (hasSummary) >
245 <p><@excerpt abstract="${entry.getSummary(locale)}"/></p>
246 </#if>
247 <#if (!hasSummary) >
248 <#assign article = journalArticleLocalService.getLatestArticle(entry.getClassPK())/>
249 <#assign document = saxReaderUtil.read(article.getContent())/>
250 <#assign rootElement = document.getRootElement() />
251 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='artigo']") />
252 <#assign conteudoDoArtigo = xPathSelector.selectSingleNode(rootElement).getStringValue() />
253 <#assign content = xPathSelector.selectSingleNode(rootElement).selectSingleNode("dynamic-element[@name='conteudo_do_artigo']").getStringValue() />
254
255 <p><@excerpt abstract="${content?replace('<[^>]*>', '', 'r')}"/></p>
256 </#if>
257 </a>
258 </div>
259 </#if>
260 </#list>
261 </div>
262 </div>
263 </#if>
264
265 <#if (isHomeNoticias || isIfscTV || isHomeVideos) >
266 <div class="featured-theme--news">
267 <div class="lfr-meta-actions asset-actions"><@getEditIcon /></div>
268 <h6>
269 <#list categories as category>
270 <#if category.name != "Destaque Portal" && category.name != "Notícias" && category.getName() != "Manchete Portal" && category.getName() != "Vídeo" && category.getName() != "Noticia" && category.getName() != "Destaque Todos os sites" && category.getName() != "Manchete Todos os sites" && category.getName() != "Destaque Portal do Servidor" && category.getName() != "Manchete Portal do Servidor">
271 <#assign hasCategory = true>
272 <#if (hasVideoArtigo) >
273 <#assign targetFriendlyURL = targetFriendlyURLVideo />
274 <#break>
275 </#if>
276 </#if>
277 </#list>
278
279 <#if (isWebURL) >
280 <#if (hasCategory) >
281 <a class="tag" href="/web${friendlyURL}/${targetFriendlyURL}${instancePortletId}">${chapeuCategoryNameUpperCase}</a>
282 </#if>
283 <#if (!hasCategory) >
284 <a class="tag">${chapeuNameUpperCase}</a>
285 </#if>
286 </#if>
287 <#if (!isWebURL) >
288 <#if (hasCategory) >
289 <a class="tag" href="/${targetFriendlyURL}${instancePortletId}">${chapeuCategoryNameUpperCase}</a>
290 </#if>
291 <#if (!hasCategory) >
292 <a class="tag">${chapeuNameUpperCase}</a>
293 </#if>
294 </#if>
295
296 <span>
297 <p>${dateUtil.getDate(entry.getPublishDate(), dateDayFormat, locale)} ${dateUtil.getDate(entry.getPublishDate(), dateMonthFormat, locale)?lower_case} ${dateUtil.getDate(entry.getPublishDate(), dateYearFormat, locale)}</p>
298 </span>
299 </h6>
300 <#if (hasVideoArtigo) >
301 <a href="${viewURLVideo}">
302 <#else>
303 <a href="${viewURL}">
304 </#if>
305 <h2 class="anchor__iten" data-anchor="meu-conteudo1">${entryTitle}</h2>
306
307 <#if (hasVideoArtigo) >
308 <iframe width="100%" height="315" src="https://www.youtube.com/embed/${videoDoArtigo?trim}" frameborder="0" allowfullscreen></iframe>
309 <#else>
310 <#if hasThumb >
311 <img src="${urlThumb}"/>
312 <#else >
313 <#assign hasSummary = entry.getSummary(locale)?has_content />
314 <#if (hasSummary) >
315 <h4><@excerptFocus abstractFocus="${entry.getSummary(locale)}"/></h4>
316 <#else>
317 <#assign content = xPathSelector.selectSingleNode(rootElement).selectSingleNode("dynamic-element[@name='conteudo_do_artigo']").getStringValue() />
318 <h4><@excerptFocus abstractFocus="${content?replace('<[^>]*>', '', 'r')}"/></h4>
319 </#if>
320 </#if>
321 </#if>
322 </a>
323 </div>
324 </#if>
325</#list>
326
327<#macro getEditIcon>
328 <#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())>
329 <#assign redirectURL = renderResponse.createRenderURL() />
330
331 ${redirectURL.setParameter("struts_action", "/asset_publisher/add_asset_redirect")}
332 ${redirectURL.setWindowState("pop_up")}
333
334 <#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("pop_up"), redirectURL)!"" />
335
336 <#if validator.isNotNull(editPortletURL)>
337 <#assign title = languageUtil.format(locale, "edit-x", entryTitle) />
338 <@liferay_ui["icon"]
339 image="edit"
340 message=title
341 url="javascript:Liferay.Util.openWindow({dialog: {width: 960}, id:'" + renderResponse.getNamespace() + "editAsset', title: '" + title + "', uri:'" + htmlUtil.escapeURL(editPortletURL.toString()) + "'});"
342 />
343 </#if>
344 </#if>
345</#macro>
346
347<#macro excerpt abstract>
348 <#assign max=200>
349 <#assign min=21>
350 <#if abstract?length < max>
351 ${abstract}
352 <#else>
353 <#assign words=htmlUtil.escape(abstract)?word_list>
354 <#if words?size gt min>
355 <#list words[0..20] as word>${word} </#list>...
356 <#else>
357 ${abstract}
358 </#if>
359 </#if>
360</#macro>
361
362<#macro excerptFocus abstractFocus>
363 <#assign max = 40>
364 <#if abstractFocus?word_list?size < max>
365 ${abstractFocus}
366 <#else>
367 <#assign words = htmlUtil.escape(abstractFocus)?word_list>
368 <#list words[0..max] as word>${word} </#list>...
369 </#if>
370</#macro>
371
372<#macro getTitle>
373 <#assign max=60>
374 <#if entryTitle?length < max>
375 ${entryTitle}
376 <#else>
377 <#assign words=entryTitle?word_list>
378 <#list words[0..5] as word>${word} </#list>...
379 </#if>
380</#macro>
381
382<#macro getEditIcon>
383 <#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())>
384 <#assign redirectURL = renderResponse.createRenderURL() />
385 ${redirectURL.setParameter("struts_action", "/asset_publisher/add_asset_redirect")}
386 ${redirectURL.setWindowState("pop_up")}
387 <#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("pop_up"), redirectURL)!"" />
388 <#if validator.isNotNull(editPortletURL)>
389 <#assign title = languageUtil.format(locale, "edit-x", entryTitle) />
390 <@liferay_ui["icon"]
391 image="edit"
392 message=title
393 url="javascript:Liferay.Util.openWindow({dialog: {width: 960}, id:'" + renderResponse.getNamespace() + "editAsset', title: '" + title + "', uri:'" + htmlUtil.escapeURL(editPortletURL.toString()) + "'});"
394 />
395 </#if>
396 </#if>
397</#macro>
Um erro ocorreu enquanto processava o modelo.
Java method "com.liferay.journal.web.internal.asset.model.JournalArticleAssetRenderer.getTitle(Locale)" threw an exception when invoked on com.liferay.journal.web.internal.asset.model.JournalArticleAssetRenderer object "com.liferay.journal.web.internal.asset.model.JournalArticleAssetRenderer@5ddabe5d"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign entryTitle = assetRenderer.ge... [in template "20154#20194#26143" at line 59, column 3]
----
1<!-- ADT PUBLICADOR DE CONTEÚDOS E MÍDIAS -->
2<#assign vocabularyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")>
3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
4<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")>
5<#assign companyLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.CompanyLocalService")>
6<#assign categoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService" )>
7
8<#assign group = groupLocalService.getGroup(groupId)>
9<#assign noticia_destaque = true />
10<#assign dateDayFormat = "dd" />
11<#assign dateMonthFormat = "MMM" />
12<#assign dateYearFormat = "yyyy" />
13<#assign targetFriendlyURL = "noticias-por-categoria" />
14<#assign targetFriendlyURLVideo = "videos-por-categoria" />
15<#assign targetViewUrl = "conteudo-aberto" />
16<#assign targetViewUrlVideo = "video-aberto" />
17
18<!-- targetPortletID dos Campus -->
19<#assign targetPortletIDCampusGaspar = "iktSPT1y33wn" />
20<#assign targetPortletIDVideoCampusGaspar = "vaqEGmvO4XIp" />
21
22<!-- targetPortletID Aberto -->
23<#assign targetPortletID = "1UWKZAkiOauK" />
24<#assign targetPortletIDVideo = "yPDbuoUoEZAI" />
25
26<#assign friendlyURL = group.getFriendlyURL() />
27<#assign currentURL = themeDisplay.getURLCurrent() />
28<#assign isWebURL = ((friendlyURL != "/guest")) />
29<#assign isHomePortal = (currentURL == "/web/guest" || currentURL == "/" || currentURL?contains("/inicio")) />
30<#assign isHomeNoticias = (currentURL == "/noticias" || currentURL?contains("/noticias")) />
31<#assign isIfscTV = (currentURL == "/ifsctv" || currentURL?contains("/ifsctv")) />
32
33<#assign campusName = friendlyURL />
34
35<#if (isHomePortal) >
36 <div class="news-home" style="padding-top: 28px;">
37</#if>
38<#if (isHomeNoticias || isIfscTV) >
39 <div class="read-more">
40</#if>
41
42<#function getViewURL assetRenderer>
43 <#local assetGroupFriendlyURL = groupLocalService.getGroup(assetRenderer.getGroupId()).getFriendlyURL() />
44 <#return "/web${assetGroupFriendlyURL}/w/${assetRenderer.getUrlTitle()}" />
45</#function>
46
47<#assign company = companyLocalService.getCompany(companyId) />
48<#assign globalGroupId = company.getGroup().getGroupId() />
49
50<#-- Retrieve the "Destaque ou Manchete" vocabulary -->
51<#assign destaqueOuMancheteVocabulary = vocabularyService.fetchGroupVocabulary(globalGroupId, "Destaque ou Manchete") />
52<#assign destaqueOuMancheteVocabularyId = destaqueOuMancheteVocabulary.getVocabularyId() />
53
54<#-- Define the list of category names to exclude -->
55<#assign excludedCategoryNames = ["Notícias", "Noticia", "Vídeo", "Todos os sites", "Blog", "Portal do Servidor"] />
56
57<#list entries as entry>
58 <#assign assetRenderer = entry.getAssetRenderer() />
59 <#assign entryTitle = assetRenderer.getTitle(locale) />
60 <#assign categories = entry.getCategories()>
61 <#assign article = journalArticleLocalService.getLatestArticle(entry.getClassPK())/>
62 <#assign document = saxReaderUtil.read(article.getContent())/>
63 <#assign rootElement = document.getRootElement() />
64 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='artigoFieldSet']") />
65 <#assign conteudoDoArtigo = xPathSelector.selectSingleNode(rootElement).getStringValue() />
66 <#assign videoDoArtigo = xPathSelector.selectSingleNode(rootElement).selectSingleNode("dynamic-element[@name='id_do_video']").getStringValue() />
67 <#assign hasVideoDoArtigo = (videoDoArtigo?length gt 10) />
68
69 <!-- Correção 24/10
70 <#assign articleAll = entry.getAssetRenderer().getArticle().getContent() >
71 <#assign documentAll = saxReaderUtil.read(articleAll)/>
72 <#assign rootElementAll = documentAll.getRootElement() />
73 <#assign nome_chapeu = "" />
74
75 <#if xPathSelector.selectSingleNode(rootElementAll)?? && xPathSelector.selectSingleNode(rootElementAll).selectSingleNode("dynamic-element[@name='nome_chapeu']")?? >
76 <#assign nome_chapeu = xPathSelector.selectSingleNode(rootElement).selectSingleNode("dynamic-element[@name='nome_chapeu']").getStringValue() />
77 </#if>
78 -->
79
80 <#assign urlThumb = entry.getAssetRenderer().getThumbnailPath(renderRequest)!""/>
81 <#assign urlLength = urlThumb?length>
82 <#assign imageDefault = urlThumb?has_content?then(urlThumb?substring(urlLength - 11,urlLength), "")>
83
84 <#-- Use UTF-8 charset for URL escaping from now: -->
85 <#setting url_escaping_charset="UTF-8">
86
87 <#assign viewURL = getViewURL(assetRenderer) />
88
89 <#-- Filter the categories -->
90 <#assign filteredCategories = categories?filter(category ->
91 category.getVocabularyId() != destaqueOuMancheteVocabularyId && <!-- Exclude categories from "Destaque ou Manchete" vocabulary -->
92 !excludedCategoryNames?seq_contains(category.getName()) <!-- Exclude categories by specific names -->
93 ) />
94
95 <#switch campusName>
96 <#case "/campus-gaspar">
97 <#assign viewURLVideo = "/web${friendlyURL}/${targetViewUrlVideo}/-/asset_publisher/${targetPortletIDVideoCampusGaspar}/content/id/${entry.getEntryId()}" />
98 <#break>
99 <#default>
100 <#assign viewURLVideo = "/${targetViewUrlVideo}/-/asset_publisher/${targetPortletIDVideo}/content/id/${entry.getEntryId()}" />
101 </#switch>
102
103 <#if (entry_index == 0)>
104 <#assign categoryVideo = false/>
105 <#list categories as categoria>
106 <#if categoria.name == "Vídeo">
107 <#assign categoryVideo = true/>
108 <#break/>
109 </#if>
110 </#list>
111 <#if (categoryVideo == true)>
112 <h3>Vídeos em Destaque</h3>
113 <#else>
114 <h3>Notícias em Destaque</h3>
115 </#if>
116 </#if>
117
118 <#assign hasZero = false >
119 <#list filteredCategories as category>
120 <#assign categoryIndex = category_index />
121 <#assign isZero = (categoryIndex == 0)>
122 <#if (isZero) >
123 <#assign hasZero = true >
124 <#break>
125 </#if>
126 </#list>
127
128 <#assign hasFirst = false >
129 <#list filteredCategories as category>
130 <#assign categoryIndex = category_index />
131 <#assign isFirst = (categoryIndex == 1)>
132 <#if (isFirst) >
133 <#assign hasFirst = true >
134 <#break>
135 </#if>
136 </#list>
137
138 <#assign hasSecond = false >
139 <#list filteredCategories as category>
140 <#assign categoryIndex = category_index />
141 <#assign hasSecond = (categoryIndex == 2)>
142 <#if (hasSecond) >
143 <#assign hasSecond = true >
144 <#break>
145 </#if>
146 </#list>
147
148 <#assign hasThird = false >
149 <#list filteredCategories as category>
150 <#assign categoryIndex = category_index />
151 <#assign hasThird = (categoryIndex == 3)>
152 <#if (hasThird) >
153 <#assign hasThird = true >
154 <#break>
155 </#if>
156 </#list>
157
158 <#assign chapeuCategory = ""/>
159 <#assign hasCategory = false>
160
161 <#list filteredCategories as category>
162 <#assign hasCategory = true>
163 <#assign hasChapeu = (nome_chapeu?trim?upper_case == category.name?upper_case) >
164 <#if hasChapeu>
165 <#assign chapeuCategory = category/>
166 <#break>
167 </#if>
168 <#assign categoryIndex = category_index />
169 <#if !hasChapeu>
170 <#if hasZero >
171 <#if categoryIndex == 0 >
172 <#assign chapeuCategory = category/>
173 </#if>
174 </#if>
175 <#if hasFirst == true && hasZero == false>
176 <#if categoryIndex == 1 >
177 <#assign chapeuCategory = category/>
178 </#if>
179 </#if>
180 <#if hasSecond == true && hasFirst == false && hasZero == false>
181 <#if categoryIndex == 2 >
182 <#assign chapeuCategory = category/>
183 </#if>
184 </#if>
185 <#if hasThird == true && hasSecond == false && hasFirst == false && hasZero == false>
186 <#if categoryIndex == 3 >
187 <#assign chapeuCategory = category/>
188 </#if>
189 </#if>
190 <#if hasThird == false && hasSecond == false && hasFirst == false && hasZero == false>
191 <#assign chapeuCategory = category/>
192 </#if>
193 </#if>
194 </#list>
195
196 <#if (hasCategory) >
197 <#assign chapeuCategoryId = chapeuCategory.getCategoryId() />
198 <#assign instacePortletId = "?p_p_id=122_INSTANCE_pDpvw9aOr6wg&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-2&p_r_p_resetCur=true&p_r_p_categoryId=${chapeuCategoryId}" />
199 <#assign chapeuCategoryName = chapeuCategory.name?upper_case />
200 </#if>
201
202 <#assign chapeuName = nome_chapeu?upper_case />
203 <div class="entryIdDestaque" style="display: none;">${entry.getEntryId()}</div>
204 <article class="featured-news entryIdDestaque-${entry.getEntryId()}">
205 <div class="lfr-meta-actions asset-actions"><@getEditIcon /></div>
206 <h6>
207 <#list categories as category>
208 <#if category.name != "Destaque Portal" && category.name != "Notícias" && category.getName() != "Manchete Portal" && category.getName() != "Vídeo" && category.getName() != "Noticia" && category.getName() != "Destaque Todos os sites" && category.getName() != "Manchete Todos os sites" && category.getName() != "Destaque Portal do Servidor" && category.getName() != "Manchete Portal do Servidor">
209 <#assign hasCategory = true>
210 <#if (hasVideoDoArtigo)>
211 <#assign targetFriendlyURL = targetFriendlyURLVideo />
212 <#break>
213 </#if>
214 </#if>
215 </#list>
216
217 <#if (isWebURL) >
218 <#if (hasCategory) >
219 <a class="tag" href="/web${group.getFriendlyURL()}/${targetFriendlyURL}${instacePortletId}">${chapeuCategoryName}</a>
220 </#if>
221 <#if (!hasCategory) >
222 <a class="tag">${chapeuName}</a>
223 </#if>
224 </#if>
225 <#if (!isWebURL) >
226 <#if (hasCategory) >
227 <a class="tag" href="/${targetFriendlyURL}${instacePortletId}">${chapeuCategoryName}</a>
228 </#if>
229 <#if (!hasCategory) >
230 <a class="tag">${chapeuName}</a>
231 </#if>
232 </#if>
233
234 <span>
235 <p>${dateUtil.getDate(entry.getPublishDate(), dateDayFormat, locale)} ${dateUtil.getDate(entry.getPublishDate(), dateMonthFormat, locale)?lower_case} ${dateUtil.getDate(entry.getPublishDate(), dateYearFormat, locale)}</p>
236 </span>
237 </h6>
238
239 <#if (hasVideoDoArtigo) >
240 <a href="${viewURLVideo}">
241 <div class="image-feature">
242 <img src="https://img.youtube.com/vi/${videoDoArtigo?trim}/default.jpg">
243 </div>
244 <h5 class="description">${entryTitle}</h5>
245 </a>
246 </#if>
247 <#if (!hasVideoDoArtigo) >
248 <a href="${viewURL}">
249 <h5>${entryTitle}</h5>
250 </a>
251 </#if>
252 </article>
253</#list>
254
255 <#if (isHomePortal) >
256 <a class="btn-all-news" href="/noticias">Mais notícias</a>
257 </#if>
258
259 </div>
260
261<#macro getEditIcon>
262 <#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())>
263 <#assign redirectURL = renderResponse.createRenderURL() />
264
265 ${redirectURL.setParameter("struts_action", "/asset_publisher/add_asset_redirect")}
266 ${redirectURL.setWindowState("pop_up")}
267
268 <#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("pop_up"), redirectURL)!"" />
269
270 <#if validator.isNotNull(editPortletURL)>
271 <#assign title = languageUtil.format(locale, "edit-x", entryTitle) />
272 <@liferay_ui["icon"]
273 image="edit"
274 message=title
275 url="javascript:Liferay.Util.openWindow({dialog: {width: 960}, id:'" + renderResponse.getNamespace() + "editAsset', title: '" + title + "', uri:'" + htmlUtil.escapeURL(editPortletURL.toString()) + "'});"
276 />
277 </#if>
278 </#if>
279</#macro>
280
281<#macro excerpt abstract>
282 <#assign max=200>
283 <#if abstract?length < max>
284 ${htmlUtil.escape(abstract)}
285 <#else>
286 <#assign words=htmlUtil.escape(abstract)?word_list>
287 <#list words[0..14] as word>${word} </#list>...
288 </#if>
289</#macro>
290
291<#macro getTitle>
292 <#assign max=60>
293 <#if entryTitle?length < max>
294 ${entryTitle}
295 <#else>
296 <#assign words=entryTitle?word_list>
297 <#list words[0..5] as word>${word} </#list>...
298 </#if>
299</#macro>
300<script type="text/javascript">
301
302var entryIdManchete = $("#entryIdManchete").text();
303
304hiddenMancheteDestaqueNoticias(entryIdManchete);
305
306function hiddenMancheteDestaqueNoticias(entryIdManchete){
307
308 var listDestaque = $(".entryIdDestaque");
309
310 listDestaque.each(function(){
311
312 var entryIdDestaque = $(this).text();
313
314 if(entryIdDestaque === entryIdManchete){
315 $(".entryIdDestaque-"+entryIdManchete).hide();
316 }
317
318 hiddenDestaquesMaisNoticias(entryIdDestaque);
319 });
320}
321
322function hiddenDestaquesMaisNoticias(entryIdDestaque){
323 var listMaisNoticias = $(".entryIdMaisNoticias");
324
325 listMaisNoticias.each(function(){
326 if($(this).text() === entryIdDestaque){
327 $(".entryIdMaisNoticias-"+entryIdDestaque).hide();
328 }
329 });
330}
331
332 </script>