Giornata Internazionale contro la violenza sulle donne 2024

Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> pagina  [in template "20099#20135#170997243" at line 506, column 38]

----
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: #if pagina != ""  [in template "20099#20135#170997243" at line 506, column 33]
----
1<#-- instanceId --> 
2<#assign instanceId = themeDisplay.getPortletDisplay().getId()?keep_after("INSTANCE_") /> 
3 
4<#-- Funzioni utilita --> 
5<#-- Ripulisco stringa da caratteri speciali --> 
6<#function escapeExtraChar text> 
7    <#return text?replace("\"","&quot;", "r")?replace("'","&rsquo;", "r")> 
8</#function> 
9 
10<#-- Verifico se il primo elemento di una lista esiste --> 
11<#function firstOfListNotEmpty list> 
12    <#assign esito = false /> 
13	<#if list?? && list?has_content && list.getSiblings()?has_content && list.getSiblings()?first.getData()?has_content> 
14    	<#assign esito = true />  
15    </#if> 
16    <#return esito> 
17</#function> 
18 
19<#-- Ricavo alcuni meta dati associati all'articolo --> 
20<#-- Ricavo article id --> 
21<#assign articleId = .vars['reserved-article-id'].data /> 
22<#-- Ricavo il titolo --> 
23<#assign titolo = .vars['reserved-article-title'].data /> 
24 
25<#-- Servizi utili --> 
26<#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
27<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
28<#assign dlFileEntryLocalService = serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryLocalService') /> 
29<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 
30 
31<#-- Altri dati associati all'articolo che ricavo tramite API --> 
32<#assign article = journalArticleLocalService.getArticle( groupId,  articleId ) /> 
33<#assign linkArticolo = article.getUrlTitle() /> 
34<#assign articlePrimKey = article.resourcePrimKey /> 
35<#assign articleModifiedDate = article.getModifiedDate() /> 
36 
37<#-- funzione per verificare che ci sia almeno un elemento in lista --> 
38<#function oneAtLeastOfListNotEmpty list> 
39	 <#assign esito = false /> 
40	 <#if list?? && list?has_content && list.getSiblings()?has_content> 
41	 	<#list list.getSiblings() as cur_elem> 
42	 		<#if cur_elem.getData()?has_content && cur_elem.getData()?trim != ""> 
43	    		<#assign esito = true /> 
44		    	<#break> 
45	    	</#if> 
46	 	</#list> 
47    </#if> 
48    <#return esito> 
49</#function> 
50 
51<#-- funzione per ricavare il content di un articolo --> 
52<#function getArticleContent articleId, templateKey> 
53	<#assign cur_webcontent_article_display = journalArticleLocalService.getArticleDisplay(groupId, articleId, templateKey, "", locale, themeDisplay) /> 
54	<#assign result = cur_webcontent_article_display.getContent()/> 
55	<#return result/> 
56</#function> 
57 
58<#-- ricavo il gruppo corrente --> 
59<#if themeDisplay.getScopeGroup().isStagingGroup() == true> 
60	<#assign currentGroup = themeDisplay.getLayout().getGroup().getLiveGroup() /> 
61<#else> 
62	<#assign currentGroup = themeDisplay.getLayout().getGroup() /> 
63</#if> 
64 
65<#-- ricavo la lista di vocabolari esclusi, separati da virgola e la pagina di dettaglio degli argomenti --> 
66<#assign listaIdVocabolariEsclusiStr = "" /> 
67<#assign paginaDettaglioArgomenti = "" /> 
68<#if validator.isNotNull(currentGroup.getExpandoBridge())> 
69	<#if currentGroup.getExpandoBridge().hasAttribute("lista_vocabolari_esclusi")> 
70		<#if currentGroup.getExpandoBridge().getAttribute("lista_vocabolari_esclusi")??> 
71			<#assign listaIdVocabolariEsclusiStr = currentGroup.getExpandoBridge().getAttribute("lista_vocabolari_esclusi")/> 
72		</#if> 
73	</#if> 
74	<#if currentGroup.getExpandoBridge().hasAttribute("pagina_dettaglio_argomenti") > 
75		<#if currentGroup.getExpandoBridge().getAttribute("pagina_dettaglio_argomenti")??> 
76			<#assign paginaDettaglioArgomenti = currentGroup.getExpandoBridge().getAttribute("pagina_dettaglio_argomenti")/> 
77			<#if paginaDettaglioArgomenti != ""> 
78				<#assign pagina = layoutLocalService.fetchLayoutByFriendlyURL(groupId, false, paginaDettaglioArgomenti)!"" /> 
79			</#if>	 
80		</#if> 
81	</#if> 
82</#if> 
83 
84<#-- HTML --> 
85<section class="foglia-base foglia-news clearfix"> 
86	 
87	<#-- sezione titolo --> 
88	<#assign titoloNews = titolo?js_string /> 
89	<#if title??> 
90		<#if validator.isNotNull(title) && validator.isNotNull(title.getData())> 
91			<h2>${title.getData()}</h2> 
92			<#assign titoloNews = title.getData() /> 
93		<#else> 
94			<h2>${titolo}</h2> 
95		</#if> 
96	<#else>	 
97		<h2>${titolo}</h2> 
98	</#if> 
99		 
100	<div class="content-editor clearfix"> 
101		 
102		<#-- SEZIONE PRINCIPALE -->		 
103		<div class="clearfix"> 
104		 
105			<#-- immagine principale --> 
106			<#if image?has_content && validator.isNotNull(image.getData())> 
107				<#attempt> 
108					 
109					<#-- associo un valore di default --> 
110		    		<#-- sostituita la classe originale pull-{*} con float-{*}, perchè non esiste in bs4 --> 
111		    		<#assign image_position_css = "float-right" /> 
112		    		<#if image.image_position??> 
113						<#if image.image_position?has_content && validator.isNotNull(image.image_position.getData())> 
114				    		<#if image.image_position.getData() == "left"> 
115					    		<#assign image_position_css = "float-left" /> 
116							</#if>	    		 
117				    	</#if> 
118				    </#if> 
119		    	 
120					<#-- a partire dal link, lo splitto e ricavo il secondo ed il 5 argomento che mi servono per il metodo successivo --> 
121					<#assign parts = (image.getData())?split("/") /> 
122					<#assign groupId = getterUtil.getLong(parts[2]) /> 
123					<#assign uuId = parts[5]?split("?")[0] /> 
124					 
125					<#assign dlFileEntry = dlFileEntryLocalService.getFileEntryByUuidAndGroupId(uuId,groupId) /> 
126					<#assign versionId = dlFileEntry.getLatestFileVersion(true).getFileVersionId() /> 
127				 	 
128				 	<#assign formMap = dlFileEntry.getDDMFormValuesMap(versionId) /> 
129					 
130				 	<#assign alt = "", watermark_title = "", watermark_color = "", watermark_position = "" />		 
131			 	 
132				 	<#-- ricavo i metadata associati al tipo di documento, se esistono--> 
133				 	<#list formMap?keys as formKey> 
134						<#assign formValues = formMap[formKey].getDDMFormFieldValues() /> 
135						<#if formValues??> 
136							<#list formValues as formValue> 
137								<#if formValue.getName() == "alt"> 
138									<#assign alt = escapeExtraChar(formValue.getValue().getString(locale)) />	 
139								<#elseif formValue.getName() == "watermark_title"> 
140									<#assign watermark_title = escapeExtraChar(formValue.getValue().getString(locale)) /> 
141								<#elseif formValue.getName() == "watermark_color"> 
142									<#assign watermark_color = escapeExtraChar(formValue.getValue().getString(locale)) /> 
143								<#elseif formValue.getName() == "watermark_position"> 
144									<#assign watermark_position = escapeExtraChar(formValue.getValue().getString(locale)) /> 
145								</#if> 
146							</#list> 
147						</#if> 
148					</#list> 
149					<#if alt == ""> 
150						<#if title??> 
151							<#if validator.isNotNull(title) && validator.isNotNull(title.getData())> 
152								<#assign alt = title.getData()?js_string /> 
153							<#else> 
154								<#assign alt = titolo?js_string /> 
155							</#if> 
156						<#else>	 
157							<#assign alt = titolo?js_string /> 
158						</#if> 
159					</#if> 
160					 
161					<#-- contenitore della singola immagine --> 
162					<div id="watermark-img-${instanceId}-${articleId}"></div> 
163					 
164					<script type="text/javascript"> 
165						watermark(["${image.getData()}"]) 
166							<#if watermark_position == "top_right"> 
167								.image(watermark.text.upperRight('${watermark_title}', '20px titillium-semibold', '${watermark_color}', 1.0)) 
168							<#elseif watermark_position == "top_left"> 
169								.image(watermark.text.upperLeft('${watermark_title}', '20px titillium-semibold', '${watermark_color}', 1.0)) 
170							<#elseif watermark_position == "bottom_left"> 
171								.image(watermark.text.lowerLeft('${watermark_title}', '20px titillium-semibold', '${watermark_color}', 1.0)) 
172							<#else> 
173								.image(watermark.text.lowerRight('${watermark_title}', '20px titillium-semibold', '${watermark_color}', 1.0)) 
174							</#if> 
175							.then(function(img) { 
176							img.alt = '${alt}'; 
177							img.width="400"; 
178							img.height="300"; 
179							img.className="img-fluid ${image_position_css}"; 
180							document.getElementById("watermark-img-${instanceId}-${articleId}").appendChild(img); 
181						  }); 
182					</script> 
183					 
184				<#recover> 
185					<#-- nn viene visualizzata alcuna immagine --> 
186				</#attempt>		 
187					 
188			</#if> 
189		 
190			<#-- descrizione --> 
191			<#if description?has_content && validator.isNotNull(description.getData())> 
192				<div>${description.getData()}</div> 
193			</#if> 
194			 
195		</div>	 
196		<#-- FINE SEZIONE PRINCIPALE --> 
197		 
198		 
199		<#-- SEZIONE CENTRALE --> 
200		<div class="clearfix pt-2"> 
201			<#-- ricavo il video se è stato inserito --> 
202			<#if youtube_link??> 
203				<#if validator.isNotNull(youtube_link) && validator.isNotNull(youtube_link.getData())> 
204				 
205					<#-- ricavo la posizione del video rispetto al testo --> 
206					<#assign video_position_css = "align-left" />						 
207					<#if youtube_link.video_position??> 
208						<#if validator.isNotNull(youtube_link.video_position) && validator.isNotNull(youtube_link.video_position.getData()) > 
209							<#if youtube_link.video_position.getData() == "right"> 
210								<#assign video_position_css = "align-right" /> 
211							</#if> 
212						</#if> 
213					</#if> 
214				 
215					<#-- ricavo il video --> 
216					<#assign id_video_1 = ""/> 
217					<#assign id_video_2 = ""/> 
218					<#assign id_video = ""/> 
219				 
220					<#-- link youtube: se è del tipo https://youtu.be/VDcs0xWyhmY o del tipo  https://www.youtube.com/watch?v=VDcs0xWyhmY ricavo l ultima parte del link --> 
221					<#assign id_video_1 = (youtube_link.getData())?keep_after_last("/") /> 
222					 
223					<#-- link youtube: se è del tipo https://www.youtube.com/watch?v=VDcs0xWyhmY devo prendere la parte finale --> 
224					<#if id_video_1?has_content> 
225						<#assign id_video_2 = (id_video_1)?keep_after("?v=") /> 
226					</#if> 
227					 
228					<#if id_video_2?has_content == true > 
229						<#assign id_video = id_video_2 /> 
230					<#else> 
231						<#assign id_video = id_video_1 /> 
232					</#if> 
233					 
234					<#if video_position_css == "align-right"> 
235						<#if id_video?has_content> 
236							<div class="container-video ${video_position_css}"> 
237								<iframe width="560" height="315" src="https://www.youtube.com/embed/${id_video}" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> 
238							</div> 
239						</#if> 
240						<#if middle_description??> 
241							<#if validator.isNotNull(middle_description) && validator.isNotNull(middle_description.getData())> 
242								<div>${middle_description.getData()}</div> 
243							</#if> 
244						</#if> 
245					<#elseif video_position_css == "align-left"> 
246						<#if id_video?has_content> 
247							<div class="container-video ${video_position_css}"> 
248								<iframe width="560" height="315" src="https://www.youtube.com/embed/${id_video}" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> 
249							</div> 
250						</#if> 
251						<#if middle_description??> 
252							<#if validator.isNotNull(middle_description) && validator.isNotNull(middle_description.getData())> 
253								<div>${middle_description.getData()}</div> 
254							</#if> 
255						</#if> 
256					</#if> 
257					 
258				</#if> 
259			</#if>	 
260		</div> 
261		<#-- FINE SEZIONE CENTRALE --> 
262		 
263	</div>	 
264		 
265	<#-- INIZIO SEZIONE FINALE -->	 
266		 
267	<#-- galleria immagini --> 
268	<#if gallery_image??> 
269		<#if oneAtLeastOfListNotEmpty(gallery_image)> 
270		 
271			<script type="text/javascript"> 
272				var imgsMapGallery_${instanceId}_${articleId} = {}; 
273				var imgsListGallery_${instanceId}_${articleId} = []; 
274				var launchedGallery_${instanceId}_${articleId} = false; 
275			</script> 
276		 
277			<div class="galleria galleria_mini clearfix" id="galleria-${instanceId}-${articleId}"> 
278				<div class="slick slider" id="galleria-${instanceId}-${articleId}-slick"> 
279					<#list gallery_image.getSiblings() as cur_image> 
280						<#if validator.isNotNull(cur_image) && validator.isNotNull(cur_image.getData())> 
281							<#attempt> 
282								<#assign entryIndex = cur_image?index /> 
283								 
284								<#-- a partire dal link, lo splitto e ricavo il secondo ed il 5 argomento che mi servono per il metodo successivo --> 
285								<#assign parts = (cur_image.getData())?split("/") /> 
286								<#assign groupId = getterUtil.getLong(parts[2]) /> 
287								<#assign uuId = parts[5]?split("?")[0] /> 
288								 
289								<#assign dlFileEntry = dlFileEntryLocalService.getFileEntryByUuidAndGroupId(uuId,groupId) /> 
290								<#assign versionId = dlFileEntry.getLatestFileVersion(true).getFileVersionId() /> 
291							 	 
292							 	<#assign formMap = dlFileEntry.getDDMFormValuesMap(versionId) /> 
293								 
294							 	<#assign alt = "", watermark_title = "", watermark_color = "", watermark_position = "" />		 
295							 	 
296							 	<#-- ricavo i metadata associati al tipo di documento, se esistono--> 
297							 	<#list formMap?keys as formKey> 
298									<#assign formValues = formMap[formKey].getDDMFormFieldValues() /> 
299									<#if formValues??> 
300										<#list formValues as formValue> 
301											<#if formValue.getName() == "alt"> 
302												<#assign alt = escapeExtraChar(formValue.getValue().getString(locale)) />	 
303											<#elseif formValue.getName() == "watermark_title"> 
304												<#assign watermark_title = escapeExtraChar(formValue.getValue().getString(locale)) /> 
305											<#elseif formValue.getName() == "watermark_color"> 
306												<#assign watermark_color = escapeExtraChar(formValue.getValue().getString(locale)) /> 
307											<#elseif formValue.getName() == "watermark_position"> 
308												<#assign watermark_position = escapeExtraChar(formValue.getValue().getString(locale)) /> 
309											</#if> 
310										</#list> 
311									</#if> 
312								</#list> 
313								<#-- se l'alt non è valorizzato nel tipo di documento, prendo il titolo articolo --> 
314								<#if alt == ""> 
315									<#if title??> 
316										<#if validator.isNotNull(title) && validator.isNotNull(title.getData())> 
317											<#assign alt = title.getData()?js_string /> 
318										<#else> 
319											<#assign alt = titolo?js_string /> 
320										</#if> 
321									<#else>	 
322										<#assign alt = titolo?js_string /> 
323									</#if> 
324								</#if> 
325								 
326								<article> 
327									<a href="#" data-caption="${alt}" title="${alt}" id="watermark-img-${instanceId}-${articleId}-${entryIndex}" class="thumbnail" target="_blank"></a> 
328									<script type="text/javascript"> 
329										var imgsPropertiesGallery_${instanceId}_${articleId} = { 
330											id: 'watermark-img-${instanceId}-${articleId}-${entryIndex}', 
331											src : '${cur_image.getData()}', 
332											position: '${watermark_position}', 
333											title: '${watermark_title}', 
334											color: '${watermark_color}', 
335											alt: '${alt}',											 
336										}; 
337										imgsMapGallery_${instanceId}_${articleId}["watermark-img-${instanceId}-${articleId}-${entryIndex}"]=imgsPropertiesGallery_${instanceId}_${articleId}; 
338										imgsListGallery_${instanceId}_${articleId}.push(imgsPropertiesGallery_${instanceId}_${articleId}); 
339									</script> 
340								</article> 
341								 
342							<#recover> 
343								 
344							</#attempt> 
345						 
346						</#if> 
347					</#list> 
348				</div> 
349			</div> 
350			 
351			<script type="text/javascript"> 
352				function applySlickOnGallery_${instanceId}_${articleId}() { 
353					$("#galleria-${instanceId}-${articleId}-slick").slick({ 
354						speed: 500, 
355						accessibility: true, 
356						dots: false, 
357						infinite: true, 
358						slidesToShow: 4, 
359						slidesToScroll: 4, 
360						 responsive: [ 
361
362							 breakpoint: 1024, 
363							 settings: { 
364								slidesToShow: 3, 
365								slidesToScroll: 3 
366
367							}, 
368
369							 breakpoint: 768, 
370							 settings: { 
371								slidesToShow: 2, 
372								slidesToScroll: 2 
373
374							 }, 
375
376							 breakpoint: 500, 
377							 settings: {	 
378								slidesToShow: 1, 
379								slidesToScroll: 1 
380
381
382
383					}); 
384
385				function applySlickLightbox_${instanceId}_${articleId}(){ 
386					$("#galleria-${instanceId}-${articleId}-slick").slickLightbox();	 
387
388			 
389				$(document).ready(function(){ 
390					if(!launchedGallery_${instanceId}_${articleId}) { 
391						launchedGallery_${instanceId}_${articleId} = true; 
392						imgsListGallery_${instanceId}_${articleId}.forEach(function(imgProp, index) { 
393							var watermarkImagePositionCallback; 
394							switch (imgProp.position) { 
395								case "top_right": 
396									watermarkImagePositionCallback = watermark.text.upperRight(imgProp.title, '20px titillium-semibold', imgProp.color, 1.0) 
397									break; 
398								case "top_left": 
399									watermarkImagePositionCallback = watermark.text.upperLeft(imgProp.title, '20px titillium-semibold', imgProp.color, 1.0) 
400									break; 
401								case "bottom_left": 
402									watermarkImagePositionCallback = watermark.text.lowerLeft(imgProp.title, '20px titillium-semibold', imgProp.color, 1.0) 
403									break; 
404								default: 
405									watermarkImagePositionCallback = watermark.text.lowerRight(imgProp.title, '20px titillium-semibold', imgProp.color, 1.0) 
406									break; 
407
408							watermark([imgProp.src]) 
409								.image(watermarkImagePositionCallback) 
410								.then(function(img) { 
411									img.alt = imgProp.alt; 
412									img.width="900"; 
413									img.height="600"; 
414									img.className="img-fluid"; 
415									$("#"+imgProp.id).append(img); 
416									$("#"+imgProp.id).attr('href', img.src); 
417									if(index == ( imgsListGallery_${instanceId}_${articleId}.length -1 )) { 
418										applySlickOnGallery_${instanceId}_${articleId}(); 
419
420									index++; 
421							  }); 
422							}); 
423							 
424							applySlickLightbox_${instanceId}_${articleId}(); 
425						 
426						}else { 
427
428				}); 
429			</script> 
430		</#if> 
431	</#if> 
432		 
433	<#-- ricavo il testo finale -->	 
434	<#if final_description??> 
435		<#if validator.isNotNull(final_description) && validator.isNotNull(final_description.getData())> 
436			<div class="content-editor clearfix">${final_description.getData()}</div> 
437		</#if> 
438	</#if>	 
439		 
440	<#-- FINE SEZIONE FINALE -->	 
441 
442 
443	<#-- INIZIO SEZIONE MORE CONTENTS --> 
444	 
445	<#-- richiamo i vari articoli --> 
446	<#if more_web_content??> 
447		<#if oneAtLeastOfListNotEmpty(more_web_content)> 
448			<#list more_web_content.getSiblings() as cur_more_web_content> 
449				<#if validator.isNotNull(cur_more_web_content) && validator.isNotNull(cur_more_web_content.getData()?trim)> 
450					<#attempt> 
451						<#-- ricavo articolo --> 
452						<#assign cur_more_web_content_json_obj = jsonFactoryUtil.createJSONObject(cur_more_web_content.getData()) /> 
453						<#-- ricavo il classPK --> 
454						<#assign cur_more_web_content_classpk = cur_more_web_content_json_obj.classPK?number /> 
455						<#-- ricavo l'articolo e il suo id --> 
456						<#assign cur_more_web_content_article = journalArticleLocalService.getLatestArticle(cur_more_web_content_classpk)/> 
457						<#assign cur_more_web_content_article_id = cur_more_web_content_article.getArticleId() /> 
458					 
459						<#-- ricavo content mediante funzione --> 
460						<div class="clearfix">${getArticleContent(cur_more_web_content_article_id,cur_more_web_content_article.getDDMTemplateKey())}</div> 
461					<#recover> 
462						 
463					</#attempt> 
464				</#if> 
465			</#list> 
466		</#if> 
467	</#if> 
468 
469	<#-- FINE SEZIONE MORE CONTENTS --> 
470 
471</section> 
472 
473<#-- gestione categorie --> 
474<#assign listaIdVocabolariEsclusi = [] /> 
475<#if listaIdVocabolariEsclusiStr != ""> 
476	<#assign parts = (listaIdVocabolariEsclusiStr)?split(",") /> 
477	<#list parts as part> 
478		<#if part?has_content> 
479			<#assign listaIdVocabolariEsclusi = listaIdVocabolariEsclusi + [part] /> 
480		</#if> 
481	</#list> 
482</#if> 
483 
484<#-- Se il carattere indicato è il prefisso della categoria, indica che la stessa non deve essere mostrata a video, ma viene solo usata per scopi funzionali --> 
485<#assign PREFIX_SERVICE_CATEGORY = "_" /> 
486 
487<#-- Ricavo tutte le categorie associate all' articolo a meno di quelle che hanno un prefisso "_" o il cui vocabolario appartiene alla lista di vocabolari esclusi --> 
488<#assign categoryList = [] />	 
489<#assign articleCatNames = catLocalService.getCategories("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey)) /> 
490<#if (articleCatNames?size > 0)> 
491	<#list articleCatNames as category> 
492		<#if !(listaIdVocabolariEsclusi?seq_contains(category.getVocabularyId()?trim)) && (category.name?substring(0,1) != PREFIX_SERVICE_CATEGORY) > 
493			<#assign categoryList = categoryList + [category] /> 
494		</#if> 
495	</#list> 
496</#if> 
497<#if (categoryList?size > 0)> 
498	<div class="tags"> 
499		<p> 
500			Argomenti:  
501		</p> 
502		<ul> 
503			<#assign numCat = 0 /> 
504			<#list categoryList as singleCat> 
505				<#assign numCat = numCat + 1 /> 
506				<#if pagina != ""> 
507					<li> 
508						<a href="${pagina.getRegularURL(request)}?restrictCategoryId=${singleCat.categoryId}&fromPage=elencoArgomenti" title="vai all'argomento ${singleCat.name}">${singleCat.name}</a> 
509					</li> 
510				</#if>	 
511			</#list> 
512		</ul> 
513	</div> 
514</#if> 
515 
516<#-- inizio sezione infopage --> 
517<#assign paginacorrente = themeDisplay.getPortalURL()+themeDisplay.getURLCurrent() /> 
518 
519<#assign twitterUrl = "http://twitter.com/share?text=${titoloNews} &url=${paginacorrente}" /> 
520<#assign facebookUrl = "http://www.facebook.com/sharer/sharer.php?u=${paginacorrente}" /> 
521<#-- 
522<#assign plusUrl = "https://web.comune.milano.it/wps/portal/ist/it/extra/social" /> 
523--> 
524<#assign articleModifiedDateString = "" /> 
525<#if validator.isNotNull(articleModifiedDate)> 
526	<#if "it_IT" == locale> 
527		<#assign articleModifiedDateString = dateUtil.getDate(articleModifiedDate, "dd/MM/yyyy", locale) /> 
528	<#else> 
529		<#assign articleModifiedDateString = dateUtil.getDate(articleModifiedDate, "yyyy/MM/dd", locale) /> 
530	</#if> 
531</#if> 
532 
533<section class="infopage"> 
534	<p class="updatedpage">Aggiornato il: ${articleModifiedDateString}</p> 
535	<div> 
536		<p class="printpage"> 
537			<a href="#" onclick="window.print();" title="stampa il contenuto di questa pagina">Stampa<span class="sr-only"> questa pagina</span></a> 
538		</p> 
539		<p class="sharepage"> 
540			<span>Condividi</span> 
541			<a href="${twitterUrl}" target="_blank" class="twitter" title="condividi questo contenuto su Twitter"> 
542				Twitter 
543			</a> 
544			<a href="${facebookUrl}" target="_blank" class="fb" title="condividi questo contenuto su Facebook"> 
545				Facebook 
546			</a> 
547			<#-- 
548			<a href="${plusUrl}" target="_blank" class="altro" title="consulta la lista di tutti i social degli enti del Comune di Milano"> 
549				scegli un altro social 
550			</a> 
551			--> 
552		</p> 
553	</div> 
554</section>