Giorno della Memoria, i manifesti dal 2002 ad oggi - TIMELINE - Toscana Notizie
Si è verificato un errore nell'elaborarazione del modello.
No such key: getAssetEntryAssetCategories in class com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign categoryList = AssetCategoryL... [in template "10154#10192#13106606" at line 13, column 1] ----
1<#setting locale="it_IT">
2
3<#assign AssetEntryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil"] />
4<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.link.service.AssetLinkLocalService") />
5
6<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
7<#assign journalArticleId = .vars['reserved-article-id'].data/>
8
9<#assign article = JournalArticleLocalService.getArticle(groupId, journalArticleId) />
10<#assign entry = AssetEntryLocalServiceUtil.fetchEntry("com.liferay.journal.model.JournalArticle", article.resourcePrimKey) />
11
12<#assign AssetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"]>
13<#assign categoryList = AssetCategoryLocalServiceUtil.getAssetEntryAssetCategories(entry.entryId) />
14<#assign UserLocalServiceUtil = staticUtil["com.liferay.portal.kernel.service.UserLocalServiceUtil"]>
15<#assign DLFileEntryLocalServiceUtil = serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryLocalService') />
16
17<#assign currentArticle = JournalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) />
18<#assign currentArticleResourcePrimKey = currentArticle.getResourcePrimKey() />
19<#assign currentArticleAssetEntry = AssetEntryLocalServiceUtil.getEntry("com.liferay.journal.model.JournalArticle", currentArticleResourcePrimKey) />
20<#assign currentArticleAssetEntryId = currentArticleAssetEntry.getEntryId() />
21
22<#assign entryTitle = htmlUtil.escape(entry.getTitle(locale)?html) />
23
24<#assign siteBaseURL = themeDisplay.getPortalURL() />
25<#assign imagePath = themeDisplay.getTheme().getContextPath() + themeDisplay.getTheme().getImagesPath() />
26
27<#assign assetRenderer = entry.getAssetRenderer() />
28<#assign urlSocial = siteBaseURL + "/-/" + assetRenderer.getUrlTitle() />
29
30<#if article.getExpandoBridge().hasAttribute("TinyURL") >
31 <#assign urlSocialApp = article.getExpandoBridge().getAttribute("TinyURL")?html />
32
33 <#if urlSocialApp?? && urlSocialApp != "">
34 <#assign urlSocial = "http://w3.webrt.it" + urlSocialApp />
35 </#if>
36</#if>
37
38
39<#assign appImagePath = "" />
40<#if Immagine.getData()?? && Immagine.getData() != "">
41 <#assign appImagePath = "http://toscana-notizie.it" + Immagine.getData() />
42<#else>
43 <#assign appImagePath = "http://toscana-notizie.it/" + imagePath + "/toscana-notizie-placeholder.png" />
44</#if>
45
46<#assign appSummary = "" />
47<#if entry.getSummary(locale)?? && entry.getSummary(locale) != "">
48 <#assign appSummary = entry.getSummary(locale) />
49</#if>
50
51
52
53
54<#assign Autori = [] />
55<#assign temi = [] />
56<#assign Provincia = [] />
57
58<#assign currentCategory = 0 />
59
60<#list categoryList as category>
61 <#assign AssetVocabularyServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetVocabularyServiceUtil"]>
62 <#assign assetVocabulary = AssetVocabularyServiceUtil.getVocabulary(category.getVocabularyId()) />
63 <#if assetVocabulary.getName() == "Temi">
64
65 <#if category.getParentCategory()??>
66 <#assign childCategory = category.getName()/>
67 <#else>
68 <#if (currentCategory?? && currentCategory != category.getCategoryId()) >
69 <#assign currentCategory = category.getCategoryId() />
70 <#assign parentCategory = category.getName()/>
71 <#assign temi = temi + [parentCategory] />
72 </#if>
73 </#if>
74
75 <#elseif assetVocabulary.getName() == "5. Autori">
76 <#assign Autori = Autori + [category.getName()] />
77 <#elseif assetVocabulary.getName() == "Provincia">
78 <#assign Provincia = Provincia + [category.getName()] />
79 </#if>
80</#list>
81
82<#list categoryList as category>
83 <#if category.getParentCategory()??>
84 <#assign childCategory = category.getName()/>
85 <#else>
86 <#assign parentCategory = category.getName()/>
87 </#if>
88</#list>
89
90<style>
91.header-title{
92 display:none;
93}
94.header-back-to{
95 display:none;
96}
97
98.hide-content{
99 visibility:hidden;
100 height : 0;
101 padding: 0px !important;
102 overflow: hidden;
103}
104
105.content_para{
106 float:none !important;
107}
108
109.hide-content img{
110 display:none;
111}
112</style>
113
114<#assign classColumnLeft = "9" />
115
116<#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntryId) />
117
118<#assign hasLinkForColumn = "false" />
119<#list currentArticleRelatedLinks as related_entry>
120 <#assign relatedAssetEntryId = related_entry.getEntryId2() />
121 <#assign relatedAssetEntry = AssetEntryLocalServiceUtil.getEntry(relatedAssetEntryId) />
122 <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() />
123
124 <#if relatedAssetEntry.getClassName() == 'com.liferay.journal.model.JournalArticle' >
125 <#assign hasLinkForColumn = "true" />
126 </#if>
127</#list>
128
129<#if (currentArticleRelatedLinks?? && currentArticleRelatedLinks?has_content) && hasLinkForColumn == "true" >
130 <#assign classColumnLeft = "8" />
131</#if>
132
133<section class="container rt-container" id="content">
134 <div class="row">
135 <!-- 1 -->
136 <div class="col-md-12 portlet-column portlet-column-only" id="column-1">
137 <!-- Subheader news -->
138 <section class="rt-subheader rt-subheader--news">
139 <div class="rt-subheader__top">
140 <div class="rt-subheader__category-wrapper">
141 <#list temi as category>
142 <div class="rt-subheader__category">
143 ${category}
144 </div>
145 </#list>
146 </div>
147
148 <div class="rt-subheader__publication">
149
150 <#assign nomeAutore = "" />
151 <#if Autori?? && (Autori?size > 0)>
152 <div class="rt-subheader__author">
153 di
154 <#list Autori as autore>
155 <#if autore != "redazione">
156 <#assign userAutore = UserLocalServiceUtil.getUserByScreenName(themeDisplay.getCompanyId(), autore) />
157 <#if userAutore?? && userAutore?has_content>
158 <#assign nomeAutore = userAutore.getFullName() />
159 </#if>
160 <#else>
161 <#assign nomeAutore = "Redazione" />
162 </#if>
163
164 <a title="Vai alla pagina dell'autore ${nomeAutore?html}" aria-label="Vai alla pagina dell'autore ${nomeAutore?html}" href="/autori/${nomeAutore?html}">
165 ${nomeAutore?html}
166 </a>
167
168 </#list>
169 </div>
170 </#if>
171
172
173 <#list Provincia as location>
174 <div class="rt-news-location">
175 <i aria-hidden="true" class="fas fa-map-marker-alt"></i> ${location}
176 </div>
177 </#list>
178
179 <#assign publishDate = .vars['reserved-article-display-date'].data />
180 <#assign publishDate = publishDate?datetime("EEE, d MMM yyyy HH:mm:ss Z")>
181 <#assign dateFormatDayMonth = "dd MMMM yyyy">
182 <#assign dateFormatHours = "HH:mm">
183 <div class="rt-subheader__date">${publishDate?string(dateFormatDayMonth)?remove_beginning("0")}</div>
184 <div class="rt-subheader__time">${publishDate?string(dateFormatHours)?remove_beginning("0")}</div>
185 <a class="rt-subheader__button rt-subheader__button-print" onclick="window.print();" href="javascript:void(0);" title="Stampa l'articolo"><i aria-hidden="true" class="far fa-print"></i></a>
186 </div>
187 </div>
188
189 <div class="rt-subheader__wrapper">
190 <div class="rt-subheader__title-wrapper">
191 <h1 class="rt-subheader__title">
192 ${.vars['reserved-article-title'].data}
193 </h1><@getEditIcon />
194 </div>
195
196 <#if ImmagineApertura?? && ImmagineApertura.getData()?? && ImmagineApertura.getData() != "" && ImmagineApertura.getData() == "true" >
197 <#if Immagine.getData()?? && Immagine.getData() != "">
198
199 <#assign altIMG = "" />
200 <#if (Immagine.getAttribute("alt")?? || Immagine.getAttribute("fileEntryId")??)>
201 <#assign altIMG = Immagine.getAttribute("alt") />
202 <#else>
203 <#assign altIMG = .vars['reserved-article-title'].data />
204 </#if>
205
206 <div class="rt-subheader__cover-media" aria-label="${altIMG}" style="background-image: url('${Immagine.getData()}');">
207
208 </div>
209 <#if Descrizione?? && Descrizione.getData() != "">
210 <div class="rt-subheader__caption">
211 ${Descrizione.getData()}
212 </div>
213 </#if>
214 </#if>
215 </#if>
216
217 <#if entry.getSummary(locale)?? && entry.getSummary(locale) != "">
218 <div class="rt-subheader__excerpt">
219 ${entry.getSummary(locale)}
220 </div>
221 </#if>
222 </div>
223
224 </section>
225 </div>
226 </div>
227 <div class="row has-sidebar">
228 <#if Testo?? && Testo.getData() != "">
229 <div class="col-md-12 col-lg-${classColumnLeft} portlet-column portlet-column-first" id="column-2">
230 <div class="rt-page__content rt-page-content--left">
231 <div class="rt-page__content-text">
232
233 <#if Immagine.getData()?? && Immagine.getData() != "">
234 <#assign description = "" />
235 <#if (Descrizione??) >
236 <#assign description = Descrizione.getData()/>
237 </#if>
238 <div style="float: left; width: 265px;">
239 <img src="${siteBaseURL + Immagine.getData()}" style="float: right; padding-left:5px; padding-right:10px; padding-bottom:10px; width:250px" alt="${description}" title="${description}" />
240 <#if (description != "") >
241 <div class="didascalia">
242 ${description}
243 </div>
244 </#if>
245 </div>
246 </#if>
247 <p>
248 ${Testo.getData()}
249 </p>
250 </div>
251 </div>
252 <div class="rt-btn-wrapper rt-btn-wrapper--right-align">
253 <div class="a2a_kit a2a_kit_size_32 a2a_default_style" data-a2a-title="${.vars['reserved-article-title'].data?html}">
254 <a class="a2a_button_facebook"></a>
255 <a class="a2a_button_twitter"></a>
256 <a class="a2a_button_email"></a>
257 <a class="a2a_button_whatsapp"></a>
258 <a class="a2a_button_linkedin"></a>
259 </div>
260 </div>
261 </div>
262 </#if>
263
264 <#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntryId) />
265 <#if (currentArticleRelatedLinks?? && currentArticleRelatedLinks?has_content) >
266 <div class="col-md-12 col-lg-4 portlet-column portlet-column-last" id="column-3">
267
268 <#assign hasAllegato = "false" />
269 <#assign hasLink = "false" />
270 <#list currentArticleRelatedLinks as related_entry>
271 <#assign relatedAssetEntryId = related_entry.getEntryId2() />
272 <#assign relatedAssetEntry = AssetEntryLocalServiceUtil.getEntry(relatedAssetEntryId) />
273 <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() />
274
275 <#if relatedAssetEntry.getClassName() == 'com.liferay.document.library.kernel.model.DLFileEntry' >
276 <#assign hasAllegato = "true" />
277 <#elseif relatedAssetEntry.getClassName() == 'com.liferay.journal.model.JournalArticle' >
278 <#assign hasLink = "true" />
279 </#if>
280 </#list>
281
282 <#if (hasLink == "true") >
283 <div class="rt-sidebar-content">
284 <section class="rt-section rt-section--box rt-section--box-row rt-section--related rt-section--sidebar" aria-label="">
285 <div class="rt-section-title-wrapper">
286 <h3 class="rt-section-title">Notizie collegate</h3>
287 </div>
288 <div class="rt-section__wrapper">
289 <#list currentArticleRelatedLinks as related_entry>
290 <#assign relatedAssetEntryId = related_entry.getEntryId2() />
291 <#assign relatedAssetEntry = AssetEntryLocalServiceUtil.getEntry(relatedAssetEntryId) />
292 <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() />
293
294 <#if relatedAssetEntry.getClassName() == 'com.liferay.journal.model.JournalArticle' >
295 <#assign relatedArticle = JournalArticleLocalService.getLatestArticle(relatedAssetEntryPrimKey) />
296 <#if relatedArticle?? && relatedArticle != "">
297
298 <#assign assetRendererRelated = relatedAssetEntry.getAssetRenderer() />
299 <#assign rendererURLRelated = siteBaseURL + "/-/" + assetRendererRelated.getUrlTitle() />
300
301 <#assign docXml = saxReaderUtil.read(relatedArticle.getContent()) />
302
303 <#assign Immagine = docXml.valueOf("//dynamic-element[@name='Immagine']/dynamic-content/text()") />
304
305 <#assign fileUrl = "" />
306 <#assign altImg = "" />
307 <#if Immagine?has_content>
308 <#assign json = jsonFactoryUtil.createJSONObject(Immagine) />
309 <#assign nameImg = json.getString("name") />
310 <#assign altImg = json.getString("alt") />
311 <#assign fileEntryId = json.getLong("fileEntryId") />
312 <#assign uuiD = json.getString("uuid") />
313 <#assign groupId = json.getLong("groupId") />
314
315 <#if fileEntryId != 0>
316 <#assign fileEntry = DLFileEntryLocalServiceUtil.getFileEntry(fileEntryId) />
317 <#assign fileUrl = "/documents/" + fileEntry.getGroupId() + "/" + fileEntry.getFolderId() + "/" + fileEntry.getTitle() + "/" + fileEntry.getUuid() />
318 <#else>
319 <#if groupId != 0 && uuiD != "">
320 <#assign fileEntry = DLFileEntryLocalServiceUtil.getFileEntryByUuidAndGroupId(uuiD,groupId) />
321 <#if fileEntry?? >
322 <#assign fileUrl = "/documents/" + fileEntry.getGroupId() + "/" + fileEntry.getFolderId() + "/" + fileEntry.getTitle() + "/" + fileEntry.getUuid() />
323 </#if>
324 </#if>
325 </#if>
326 <#else>
327 <#assign fileUrl = imagePath + "/toscana-notizie-placeholder.png" />
328 </#if>
329
330
331 <div class="rt-box rt-box--has-image rt-box--has-image-small">
332 <div class="rt-box__image">
333 <img alt="Immagine ${relatedAssetEntry.getTitle(locale)?html}" src="${fileUrl?html}">
334
335 </div>
336
337 <div class="rt-box__text">
338 <div class="rt-box__publication">
339 <div class="rt-box__date">${relatedAssetEntry.publishDate?string["dd MMMM"]?remove_beginning("0")}</div>
340 <div class="rt-box__time">${relatedAssetEntry.publishDate?string["HH:mm"]?remove_beginning("0")}</div>
341 </div>
342
343 <div class="rt-box__title">
344 <a title="Vai alla pagina ${relatedAssetEntry.getTitle(locale)?html}" aria-label="Vai alla pagina ${relatedAssetEntry.getTitle(locale)?html}" href="${rendererURLRelated?html}">
345 ${relatedAssetEntry.getTitle(locale)?html}
346 </a>
347 </div>
348 </div>
349 </div>
350
351 </#if>
352 </#if>
353 </#list>
354 </div>
355 </section>
356 </div>
357 </#if>
358 </div>
359 </#if>
360 </div>
361
362 <@getLinkAndAllegati />
363
364</section>
365
366<link href="https://cdn.knightlab.com/libs/timeline3/latest/css/timeline.css" rel="stylesheet" title="timeline-styles" />
367<script src="https://cdn.knightlab.com/libs/timeline3/latest/js/timeline.js"></script>
368
369<#if gsurl?? && gsurl.getData() != "" >
370 <div id="timeline-embed" style="width: 100%; height: 600px">
371
372 </div>
373
374 <script type="text/javascript">
375 var additionalOptions = {
376 language: 'it',
377 initial_zoom: 2,
378 start_at_end: 'true',
379 default_bg_color: {r:255, g:255, b:255},
380 timenav_height: 150
381 }
382
383 timeline = new TL.Timeline('timeline-embed',
384 '${gsurl.getData()}',
385 additionalOptions);
386 </script>
387</#if>
388
389
390
391<#macro getLinkAndAllegati>
392 <#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.link.service.AssetLinkLocalService") />
393 <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
394 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
395
396 <#assign currentArticle = JournalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) />
397 <#assign currentArticleResourcePrimKey = currentArticle.getResourcePrimKey() />
398 <#assign currentArticleAssetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", currentArticleResourcePrimKey) />
399 <#assign currentArticleAssetEntryId = currentArticleAssetEntry.getEntryId() />
400 <#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntryId) />
401
402 <#assign hasAllegato = "false" />
403 <#assign hasLink = "false" />
404 <#if currentArticleRelatedLinks?? && currentArticleRelatedLinks?has_content>
405 <#list currentArticleRelatedLinks as related_entry>
406 <#assign relatedAssetEntryId = related_entry.getEntryId2() />
407 <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId) />
408 <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() />
409
410 <#if relatedAssetEntry.getClassName() == 'com.liferay.document.library.kernel.model.DLFileEntry' >
411 <#assign hasAllegato = "true" />
412 <#elseif relatedAssetEntry.getClassName() == 'com.liferay.journal.model.JournalArticle' >
413 <#assign hasLink = "true" />
414 </#if>
415 </#list>
416 </#if>
417
418 <#if (hasAllegato == "true")>
419 <div class="rt-container">
420 <div class="rt-wrapper">
421 <section class="rt-section rt-section--grid rt-section--grid-3" aria-label="Sezione link e allegati">
422 <div class="rt-section-title-wrapper">
423 <h2 class="rt-section-title"><i aria-hidden="true" class="far fa-paperclip"></i> Allegati</h2>
424 </div>
425
426 <div class="rt-section__wrapper">
427 <#if hasAllegato == "true">
428 <#list currentArticleRelatedLinks as related_entry>
429 <#assign relatedAssetEntryId = related_entry.getEntryId2() />
430 <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId) />
431 <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() />
432
433 <#if relatedAssetEntry.getClassName() == 'com.liferay.document.library.kernel.model.DLFileEntry' >
434 <#assign fileEntry = DLFileEntryLocalServiceUtil.getFileEntry(relatedAssetEntryPrimKey) />
435 <#assign fileUrl = "/documents/" + fileEntry.getGroupId() + "/" + fileEntry.getFolderId() + "/" + fileEntry.getTitle() + "/" + fileEntry.getUuid() />
436 <#if fileEntry?? && fileUrl != "">
437 <#if fileEntry.getExtension() == 'mp3'>
438 <div class="rt-box rt-box--link rt-box--audio">
439 <div class="rt-box__header">
440 <div class="rt-box__wrapper">
441 <div class="rt-box__title">
442 <a title="Scarica ${fileEntry.getTitle()}" aria-label="Scarica ${fileEntry.getTitle()}" href="${fileUrl}" target="_blank">
443 ${fileEntry.getTitle()}
444 </a>
445 </div>
446 <audio controls>
447 <source src="${fileUrl}" type="audio/ogg">
448 <source src="${fileUrl}" type="audio/mpeg">
449 Il tuo browser non supporta questo tipo di oggetto html
450 </audio>
451 </div>
452 </div>
453 </div>
454 <#else>
455 <div class="rt-box rt-box--link">
456 <div class="rt-box__header">
457 <div class="rt-box__wrapper">
458 <div class="rt-box__title">
459 <a target="_blank" href="${fileUrl}" aria-label="Vedi ${fileEntry.getTitle()}" title="Vedi ${fileEntry.getTitle()}">
460 ${fileEntry.getTitle()}
461 </a>
462 </div>
463 </div>
464
465 <div class="rt-box__icon">
466 <i aria-hidden="true" class="far fa-download"></i>
467 </div>
468 </div>
469 </div>
470 </#if>
471 </#if>
472 </#if>
473 </#list>
474 </#if>
475 </div>
476 </section>
477 </div>
478 </div>
479 </#if>
480
481</#macro>
482
483
484<#macro getEditIcon>
485 <#if assetRenderer.hasEditPermission(themeDisplay.getPermissionChecker())>
486 <#if renderResponse??>
487 <#assign redirectURL = renderResponse.createRenderURL() />
488
489 ${redirectURL.setParameter("mvcPath", "/add_asset_redirect.jsp")}
490 ${redirectURL.setWindowState("pop_up")}
491
492 <#assign editPortletURL = assetRenderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("pop_up"), redirectURL)!"" />
493
494 <#if validator.isNotNull(editPortletURL)>
495 <#assign title = languageUtil.format(locale, "edit-x", entryTitle, false) />
496
497 <@liferay_ui["icon"]
498 cssClass="icon-monospaced visible-interaction"
499 icon="pencil"
500 markupView="lexicon"
501 message=title
502 url="javascript:Liferay.Util.openWindow({id:'" + renderResponse.getNamespace() + "editAsset', title: '" + title + "', uri:'" + htmlUtil.escapeURL(editPortletURL.toString()) + "'});"
503 />
504 </#if>
505 </#if>
506 </#if>
507</#macro>
508
509<script type="text/javascript">
510 var a2a_config = a2a_config || {};
511 a2a_config.onclick = 1;
512 a2a_config.locale = "it";
513 a2a_config.num_services = 5;
514 a2a_config.title = '${.vars['reserved-article-title'].data?html}';
515 a2a_config.track_links = 'custom';
516 a2a_config.track_links_key = '${urlSocial?html}';
517 a2a_config.linkurl = '${urlSocial?html}';
518 a2a_config.linkname = 'aaaa ${.vars['reserved-article-title'].data?html}';
519
520 a2a_config.templates = a2a_config.templates || {};
521 a2a_config.templates.twitter = {
522 text: "${.vars['reserved-article-title'].data?html} ${urlSocial?html}",
523 related: "AddToAny,Twitter"
524 };
525</script>
526<script async src="https://static.addtoany.com/menu/page.js"></script>