Si è verificato un errore nell'elaborarazione del modello.
Java method "com.sun.proxy.$Proxy974.getLatestArticle(long)" threw an exception when invoked on com.sun.proxy.$Proxy974 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@123c3f18"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign contattoJA = journalArticleLo...  [in template "20096#20121#75098" at line 557, column 73]
----
1<#assign structureService = serviceLocator.findService("it.inera.structure.service.StructureService")> 
2<#assign argomentiVocabularyId = structureService.getVocabularyArgomentiId()> 
3<#assign vocabularyTipieventoId = structureService.getVocabularyTipieventoId()> 
4 
5<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
6<#assign jac = serviceLocator.findService("it.inera.journalarticleconverter.service.JournalArticleConverter")> 
7<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
8<#assign journalArticleId = .vars['reserved-article-id'].data> 
9<#assign ja = journalArticleLocalService.getArticle(groupId, journalArticleId)> 
10<#assign evento = jac.getEvento(ja) /> 
11<#assign vocabularies = evento.getCategories() /> 
12 
13<#assign displaydate = evento.getDisplayDate()?string["dd/MM/yyyy"]> 
14<#assign modifieddate = evento.getModifiedDate()?string["dd/MM/yyyy"]> 
15 
16<div class="container" id="main-container"> 
17	 
18	<div class="row"> 
19		<div class="col px-lg-4"> 
20			<div class="cmp-breadcrumbs" role="navigation"> 
21				<nav class="breadcrumb-container" aria-label="breadcrumb"> 
22					<ol class="breadcrumb p-0" data-element="breadcrumb"> 
23						<li class="breadcrumb-item"><a href="/" class="" data-focus-mouse="false"><@liferay.language key="breadcrumbs.home" /></a><span class="separator">/</span></li> 
24						<li class="breadcrumb-item"><a href="/vivere-il-comune"><@liferay.language key="breadcrumbs.viverecomune" /></a><span class="separator">/</span></li> 
25						<li class="breadcrumb-item"><a href="/eventi"><@liferay.language key="breadcrumbs.eventi" /></a><span class="separator">/</span></li> 
26						<li class="breadcrumb-item active" aria-current="page">${titolo.getData()}</li> 
27					</ol> 
28				</nav> 
29			</div> 
30		</div> 
31	</div> 
32	 
33	<div class="row"> 
34		<div class="col-lg-8 px-lg-4 py-lg-2"> 
35			<h1 data-audio>${titolo.getData()}</h1> 
36			<#assign datada = evento.getDataorainizio()?string("dd/MM/yyyy HH:mm") /> 
37			<#assign dataa = evento.getDataorafine()?string("dd/MM/yyyy HH:mm")/> 
38			<h2 class="h4 py-2" data-audio> 
39				<#if (sottotitolo.getData())??> 
40					${sottotitolo.getData()} 
41				</#if> 
42				<#if datada == dataa > 
43					<br/> ${datada} 
44				<#else> 
45					<br/> dal ${datada} al ${dataa} 
46				</#if> 
47			</h2> 
48			 
49			<#-- #if (descrizionebreve.getData())??> 
50				<p data-audio> 
51					${descrizionebreve.getData()} 
52				</p> 
53			</#if --> 
54		</div> 
55		<div class="col-lg-3 offset-lg-1"> 
56			<div class="dropdown d-inline"> 
57				<button aria-label="<@liferay.language key="social.condivididesc" />" class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-0" type="button" id="shareActions" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 
58					<svg class="icon" aria-hidden="true"> 
59						<use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-share"></use> 
60					</svg> 
61					<small><@liferay.language key="social.condividi" /></small> 
62				</button> 
63				<div class="dropdown-menu shadow-lg" aria-labelledby="shareActions"> 
64					<div class="link-list-wrapper"> 
65						<ul class="link-list share-btn" role="menu"> 
66							<li role="none"> 
67								<a data-id="fb" class="list-item" href="#" role="menuitem"> 
68									<svg class="icon" aria-hidden="true"> 
69										<use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-facebook"></use> 
70									</svg> 
71									<span><@liferay.language key="social.facebook" /></span> 
72								</a> 
73							</li> 
74							<li role="none"> 
75								<a data-id="tw" class="list-item" href="#" role="menuitem"> 
76									<svg class="icon" aria-hidden="true"> 
77										<use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-twitter"></use> 
78									</svg> 
79									<span><@liferay.language key="social.twitter" /></span> 
80								</a> 
81							</li> 
82							<li role="none"> 
83								<a data-id="in" class="list-item" href="#" role="menuitem"> 
84									<svg class="icon" aria-hidden="true"> 
85										<use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-linkedin"></use> 
86									</svg> 
87									<span><@liferay.language key="social.linkedin" /></span> 
88								</a> 
89							</li> 
90							<li role="none"> 
91								<a data-id="wa" class="list-item" href="#" role="menuitem"> 
92									<svg class="icon" aria-hidden="true"> 
93										<use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-whatsapp"></use> 
94									</svg> 
95								<span><@liferay.language key="social.whatsapp" /></span> 
96								</a> 
97							</li> 
98						</ul> 
99					</div> 
100				</div> 
101			</div> 
102			<div class="dropdown d-inline"> 
103				<button aria-label="<@liferay.language key="azioni.vedidesc" />" class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-0" type="button" id="viewActions" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 
104					<svg class="icon" aria-hidden="true"> 
105						<use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-more-items"></use> 
106					</svg> 
107					<small><@liferay.language key="azioni.vedi" /></small> 
108				</button> 
109				<div class="dropdown-menu shadow-lg" aria-labelledby="viewActions"> 
110					<div class="link-list-wrapper"> 
111						<ul class="link-list share-btn" role="menu"> 
112							<li role="none"> 
113								<a data-id="print" class="list-item" href="#" role="menuitem"> 
114									<svg class="icon" aria-hidden="true"> 
115										<use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-print"></use> 
116									</svg> 
117									<span><@liferay.language key="azioni.stampa" /></span> 
118								</a> 
119							</li> 
120							<li role="none"> 
121								<a class="list-item" role="menuitem" onclick="listenElements(this, '[data-audio]')"> 
122									<svg class="icon" aria-hidden="true"> 
123										<use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-hearing"></use> 
124									</svg> 
125									<span><@liferay.language key="azioni.ascolta" /></span> 
126								</a> 
127							</li> 
128							<li role="none"> 
129								<a data-id="mail" class="list-item" href="#" role="menuitem"> 
130									<svg class="icon" aria-hidden="true"> 
131										<use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-mail"></use> 
132									</svg> 
133									<span><@liferay.language key="azioni.invia" /></span> 
134								</a> 
135							</li> 
136						</ul> 
137					</div> 
138				</div> 
139			</div> 
140			 
141			<#if vocabularies?? && vocabularies?has_content > 
142				<#list vocabularies as vocabularyId, categories> 
143					<#if categories?? && categories?has_content && vocabularyId == argomentiVocabularyId > 
144						<div class="mt-4 mb-4"> 
145							<div class="row"> 
146								<span class="mb-2 small"><@liferay.language key="detail.argomenti" /></span> 
147							</div> 
148							<ul class="d-flex flex-wrap gap-1"> 
149								<#list categories as category> 
150									<#assign categoryLink = "" > 
151									<#if category.getDescription()?? && category.getDescription()?has_content > 
152										<#assign plid = category.getDescription()?replace('<[^>]+>','','r')?replace('&lt;[^>]+>','','r') > 
153										<#if plid?? && plid?has_content > 
154											<#assign layoutDisplay = layoutLocalService.getLayout(plid?number) > 
155											<#if layoutDisplay?? && layoutDisplay?has_content> 
156												<#assign categoryLink = layoutDisplay.getFriendlyURL(themeDisplay.getLocale()) /> 
157											</#if> 
158										</#if> 
159									</#if> 
160									<li> 
161										<#if categoryLink?? && categoryLink?has_content > 
162											<a class="chip chip-simple" href="${categoryLink}"> 
163												<span class="chip-label">${category.getTitle(locale)}</span> 
164											</a> 
165										<#else> 
166											<div class="chip chip-simple text-button"> 
167												<span class="chip-label">${category.getTitle(locale)}</span> 
168											</div> 
169										</#if> 
170									</li> 
171								</#list> 
172							</ul> 
173						</div> 
174					</#if> 
175				</#list> 
176			</#if> 
177			 
178		</div> 
179	</div> 
180</div> 
181<#if (immagineprincipale.immagine.getData())?? && immagineprincipale.immagine.getData()?has_content > 
182	<div class="container-fluid my-3"> 
183		<div class="row"> 
184			<figure class="figure px-0 img-full"> 
185				<img src="${immagineprincipale.immagine.getData()}" class="figure-img img-fluid" alt="${immagineprincipale.immagine.getAttribute("alt")}"> 
186				<#if (immagineprincipale.immagine_titolo.getData())??> 
187					<figcaption class="figure-caption text-center pt-3">${immagineprincipale.immagine_titolo.getData()}</figcaption> 
188				</#if> 
189			</figure> 
190		</div> 
191	</div> 
192</#if> 
193 
194<div class="container"> 
195	<div class="row border-top border-light row-column-border row-column-menu-left"> 
196		<aside class="col-lg-3"> 
197			<div class="cmp-navscroll sticky-top" aria-labelledby="accordion-title-one"> 
198				<nav class="navbar it-navscroll-wrapper navbar-expand-lg" aria-label="<@liferay.language key="notizia.indice" />" data-bs-navscroll> 
199					<div class="navbar-custom" id="navbarNavProgress"> 
200						<div class="menu-wrapper"> 
201							<div class="link-list-wrapper"> 
202								<div class="accordion"> 
203									<div class="accordion-item"> 
204										<span class="accordion-header" id="accordion-title-one"> 
205											<button class="accordion-button pb-10 px-3" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-one" aria-expanded="true" aria-controls="collapse-one"> 
206												<@liferay.language key="notizia.indice" /> 
207												<svg class="icon icon-xs right"> 
208													<use href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-expand"></use> 
209												</svg> 
210											</button> 
211										</span> 
212										<div class="progress"> 
213											<div class="progress-bar it-navscroll-progressbar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div> 
214										</div> 
215										<div id="collapse-one" class="accordion-collapse collapse show" role="region" aria-labelledby="accordion-title-one"> 
216											<div class="accordion-body"> 
217												<ul class="link-list" data-element="page-index"> 
218													<li class="nav-item"> 
219														<a class="nav-link" href="#cos-e"> 
220															<span class="title-medium"><@liferay.language key="evento.cose" /></span> 
221														</a> 
222													</li> 
223													<li class="nav-item"> 
224														<a class="nav-link" href="#destinatari"> 
225															<span class="title-medium"><@liferay.language key="evento.chi.rivolto" /></span> 
226														</a> 
227													</li> 
228													<#if evento.getLuogo()?? && evento.getLuogo()?has_content && evento.getLuogo().getClassPKLong()??> 
229														<li class="nav-item"> 
230															<a class="nav-link" href="#luogo"> 
231																<span class="title-medium"><@liferay.language key="evento.luogo" /></span> 
232															</a> 
233														</li> 
234													</#if> 
235					                                <li class="nav-item"> 
236					                                  	<a class="nav-link" href="#costi"> 
237					                                    	<span class="title-medium"><@liferay.language key="evento.costi" /></span> 
238					                                  	</a> 
239					                                </li> 
240					                                 <#if evento.getAllegatos()?? && evento.getAllegatos()?has_content && evento.getAllegatos()[0]?has_content && evento.getAllegatos()[0].getAllegato().getUrl()??> 
241						                                <li class="nav-item"> 
242						                                  	<a class="nav-link" href="#allegati"> 
243						                                    	<span class="title-medium"><@liferay.language key="evento.allegati" /></span> 
244						                                  	</a> 
245						                                </li> 
246					                                </#if> 
247					                                <#if evento.getAppuntamenti()?? && evento.getAppuntamenti()?has_content && evento.getAppuntamenti()[0]?has_content && evento.getAppuntamenti()[0].getClassPKLong()??> 
248						                                <li class="nav-item"> 
249						                                  	<a class="nav-link" href="#appuntamenti"> 
250						                                    	<span class="title-medium"><@liferay.language key="evento.appuntamenti" /></span> 
251						                                  	</a> 
252						                                </li> 
253						                            </#if> 
254					                                <li class="nav-item"> 
255					                                 	<a class="nav-link" href="#contatti"> 
256					                                    	<span class="title-medium"><@liferay.language key="evento.contatti" /></span> 
257					                                  	</a> 
258					                                </li> 
259					                                <#if (patrocinio.getData())?? && (patrocinio.getData())?has_content> 
260						                                <li class="nav-item"> 
261						                                  	<a class="nav-link" href="#patrocinio"> 
262						                                    	<span class="title-medium"><@liferay.language key="evento.patrocinio" /></span> 
263						                                  	</a> 
264						                                </li> 
265						                            </#if>   
266					                                <#if (organizzatoda.getData())?? && (organizzatoda.getData())?has_content> 
267						                                <li class="nav-item"> 
268						                                  	<a class="nav-link" href="#organizzato"> 
269						                                    	<span class="title-medium"><@liferay.language key="Organizzatori" /></span> 
270						                                  	</a> 
271						                                </li> 
272						                            </#if>   
273						                            <#if (sponsor.getData())?? && (sponsor.getData())?has_content> 
274						                                <li class="nav-item"> 
275						                                  	<a class="nav-link" href="#sponsor"> 
276						                                    	<span class="title-medium"><@liferay.language key="evento.sponsor" /></span> 
277						                                  	</a> 
278						                                </li> 
279					                                </#if> 
280					                                <#if (informazioni.getData())?? && (informazioni.getData())?has_content> 
281						                                <li class="nav-item"> 
282						                                  	<a class="nav-link" href="#informazioni"> 
283						                                    	<span class="title-medium"><@liferay.language key="evento.informazioni" /></span> 
284						                                  	</a> 
285						                                </li> 
286					                                </#if> 
287												</ul> 
288											</div> 
289										</div> 
290									</div> 
291								</div> 
292							</div> 
293						</div> 
294					</div> 
295				</nav> 
296			</div> 
297		</aside> 
298		<section class="col-lg-9 it-page-sections-container border-light position-static"> 
299			<article id="cos-e" class="it-page-section anchor-offset richtext-wrapper" data-audio> 
300				<h2 class="mb-3">Cos'è?</h2> 
301				${descrizione.getData()} 
302				<#if evento.getParteciperanno()?? && evento.getParteciperanno()?has_content && evento.getParteciperanno()[0]?has_content && evento.getParteciperanno()[0].getClassPKLong()??> 
303					<div class="pt-3 mb-4"> 
304		                <h3 class="h4"><@liferay.language key="evento.parteciperanno" /></h3> 
305		                <ul class="d-flex flex-wrap gap-1 mt-2"> 
306		                 
307		                	<#assign partecipanti = evento.getParteciperanno() /> 
308							<#list partecipanti as partecipante> 
309							 
310								<#if partecipante?? && partecipante?has_content && partecipante.getClassPKLong()?? > 
311							 
312									<#assign partecipanteId = partecipante.getClassPKLong() /> 
313												 
314									<#if partecipanteId?? && partecipanteId?has_content > 
315							 
316										<#assign partecipanteJA = journalArticleLocalService.getLatestArticle(partecipanteId)> 
317								 
318										<#if partecipanteJA.getDDMStructureKey() = structureService.getStructurePersonaPubblicaKey()> 
319											<#assign partecipanteObj = jac.getPersonaPubblica(partecipanteJA) /> 
320											 
321								            <li> 
322						                    	<a class="chip chip-simple" href="/-/${partecipanteObj.getUrlTitle()}"> 
323						                      		<span class="chip-label">${partecipanteObj.getNome()} ${partecipanteObj.getCognome()}</span> 
324						                    	</a> 
325						                  	</li> 
326										</#if> 
327							 
328									</#if> 
329								</#if> 
330							</#list> 
331		                </ul> 
332		           	</div> 
333		        </#if> 
334		        		         
335		        <#if immaginesecondaria.getSiblings()?has_content && (immaginesecondaria.getSiblings()[0].getData())?? && (immaginesecondaria.getSiblings()[0].getData())?has_content> 
336		            <div class="it-carousel-wrapper it-carousel-landscape-abstract-three-cols splide" data-bs-carousel-splide> 
337		                <div class="it-header-block"> 
338		                  <div class="it-header-block-title"> 
339		                    <h3 class="h4"><@liferay.language key="evento.galleria.immagini" /></h3> 
340		                  </div> 
341		                </div> 
342		                <div class="splide__track"> 
343		                  <ul class="splide__list it-carousel-all"> 
344		                  	<#list immaginesecondaria.getSiblings() as cur_immaginesecondaria> 
345								<#if (cur_immaginesecondaria.immaginesec.getData())?? && cur_immaginesecondaria.immaginesec.getData()?has_content > 
346		                    		<li class="splide__slide"> 
347				                      <div class="it-single-slide-wrapper"> 
348				                        <figure> 
349				                          	<img src="${cur_immaginesecondaria.immaginesec.getData()}" class="figure-img img-fluid" alt="${cur_immaginesecondaria.immaginesec.getAttribute("alt")}"> 
350											<#if (cur_immaginesecondaria.immaginesec_titolo.getData())??> 
351												<figcaption class="figure-caption text-center pt-3">${cur_immaginesecondaria.immaginesec_titolo.getData()}</figcaption> 
352											</#if> 
353				                        </figure> 
354				                      </div> 
355				                    </li> 
356		                    	</#if> 
357							</#list> 
358		                  </ul> 
359		                </div> 
360		              </div> 
361	              </#if> 
362	              <#if evento.getVideos()?? && evento.getVideos()?has_content && evento.getVideos()[0].getVideo()?has_content && evento.getVideos()[0].getVideo().getUrl()?has_content > 
363	              	<div class="section-content"> 
364						<div class="container-set-carousel"> 
365							<div class="it-header-block"> 
366								<div class="it-header-block-title"> 
367									<h3 class="h4"><@liferay.language key="evento.video" /></h3> 
368								</div> 
369							</div> 
370							<div class="it-carousel-wrapper splide it-carousel-landscape-abstract-three-cols-arrow-visible" data-splide='{"width": "100%"}'> 
371								<div class="splide__track"> 
372									<ul class="splide__list"> 
373										<#list evento.getVideos() as video> 
374											<li class="splide__slide"> 
375												<div class="it-single-slide-wrapper" id="v-${video?index}"> 
376													<div class="row"> 
377														<video data-bs-video="data-bs-video" data-setup='{ "controls": true,"autoplay": false, "preload": "auto"}'> 
378															<source src="${video.getVideo().getUrl()}" type="video/mp4"> 
379															<source src="${video.getVideo().getUrl()}" type="video/webm"> 
380														</video> 
381													</div> 
382												</div> 
383											</li> 
384										</#list> 
385										 
386									</ul> 
387								</div> 
388							</div> 
389						</div> 
390					</div> 
391				</#if> 
392			</article> 
393			 
394			 
395			<article id="destinatari" class="it-page-section mb-5"> 
396            	<h2 class="mb-3"><@liferay.language key="evento.chi.rivolto" /></h2> 
397            	<p class="richtext-wrapper">${evento.getRivolto()}</p> 
398            </article> 
399	 
400			<#if evento.getLuogo()?? && evento.getLuogo()?has_content && evento.getLuogo().getClassPKLong()??> 
401				<article id="luogo" class="it-page-section mb-5"> 
402	            	<h2 class="mb-3"><@liferay.language key="evento.luogo" /></h2> 
403	            	<div class="row"> 
404	               
405		              	<#assign luogo = evento.getLuogo() /> 
406						<#if luogo?? && luogo?has_content && luogo.getClassPKLong()?? > 
407					 
408							<#assign luogoId = luogo.getClassPKLong() /> 
409										 
410							<#if luogoId?? && luogoId?has_content > 
411					 
412								<#assign luogoJA = journalArticleLocalService.getLatestArticle(luogoId)> 
413						 
414								<#if luogoJA.getDDMStructureKey() = structureService.getStructureLuogoKey()> 
415									<#assign luogoObj = jac.getLuogo(luogoJA) /> 
416									 
417									<div class="col-12 col-sm-8 col-xl-6"> 
418					                  <div class="card-wrapper rounded shadow-sm h-auto"> 
419					                    <div class="card card-teaser card-teaser-info rounded shadow-sm p-4"> 
420					                      <div class="card-body pe-3"> 
421					                        <h5 class="card-title"> 
422					                          <a class="text-decoration-none" href="/-/${luogoObj.getUrlTitle()}"> 
423					                           ${luogoObj.getNome()} 
424					                          </a> 
425					                        </h5> 
426					                        <div class="card-text"> 
427					                          ${luogoObj.getIndirizzo()} 
428					                        </div> 
429					                      </div> 
430					                      <#if (luogoObj.getImmagineprincipale().immagine.getData())?? && luogoObj.getImmagineprincipale().immagine.getData()?has_content > 
431											<div class="avatar size-xl"> 
432												<img src="${luogoObj.getImmagineprincipale().immagine.getData()}" class="figure-img img-fluid" alt="${luogoObj.getImmagineprincipale().immagine.getAttribute("alt")}"> 
433											</div> 
434										  </#if> 
435					                    </div> 
436					                  </div> 
437					                </div> 
438									 
439								</#if> 
440					 
441							</#if> 
442						</#if> 
443	            	</div> 
444	        	</article> 
445            </#if> 
446     
447    		<#if (costo.getData())??> 
448	            <article id="costi" class="it-page-section mb-5"> 
449	              <h2 class="mb-3"><@liferay.language key="evento.costi" /></h2> 
450	              <div class="card no-after border-start"> 
451	                <div class="card-body richtext-wrapper"> 
452	                  ${costo.getData()} 
453	                </div> 
454	              </div> 
455	            </article> 
456            </#if> 
457             
458            <#if evento.getAllegatos()?? && evento.getAllegatos()?has_content && evento.getAllegatos()[0]?has_content && evento.getAllegatos()[0].getAllegato().getUrl()??> 
459	            <article id="allegati" class="it-page-section mb-5"> 
460	              <h2 class="mb-3"><@liferay.language key="evento.allegati" /></h2> 
461	              	<#assign allegati = evento.getAllegatos() /> 
462					<#list allegati as allegato> 
463					 
464						<#if allegato?? && allegato?has_content && allegato.getAllegato().getUrl()?? > 
465					 
466							<div class="card card-teaser shadow rounded mb-2"> 
467				                <div class="card-body"> 
468				                  <h3 class="card-title h5 m-0"> 
469				                    <svg class="icon" aria-hidden="true"> 
470				                      <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-clip"></use> 
471				                    </svg> 
472				                    <#assign titoloallegato = allegato.getAllegato().getTitle() /> 
473				                    <#if allegato.getTitolo()?? && allegato.getTitolo()?has_content > 
474				                    	<#assign titoloallegato = allegato.getTitolo() /> 
475				                    </#if> 
476				                    <a href="${allegato.getAllegato().getUrl()}" class="text-decoration-none" title="${allegato.getAllegato().getTitle()}" aria-label="${allegato.getAllegato().getTitle()}">${titoloallegato}</a> 
477				                  </h3> 
478				                </div> 
479				            </div> 
480						</#if> 
481					</#list> 
482	            </article> 
483			</#if> 
484     
485     
486    		<#if evento.getAppuntamenti()?? && evento.getAppuntamenti()?has_content && evento.getAppuntamenti()[0]?has_content && evento.getAppuntamenti()[0].getClassPKLong()??> 
487	            <article id="appuntamenti" class="it-page-section mb-5"> 
488	              <h2 class="mb-3"><@liferay.language key="evento.appuntamenti" /></h2> 
489	              <div class="card-wrapper card-teaser-wrapper card-teaser-wrapper-equal"> 
490	                <#assign appuntamenti = evento.getAppuntamenti() /> 
491	                 
492	                <#list appuntamenti as appuntamento> 
493			  			<#if appuntamento?? && appuntamento?has_content && appuntamento.getClassPKLong()?? > 
494					 
495							<#assign appuntamentoId = appuntamento.getClassPKLong() /> 
496										 
497							<#if appuntamentoId?? && appuntamentoId?has_content > 
498					 
499								<#assign appuntamentoJA = journalArticleLocalService.getLatestArticle(appuntamentoId)> 
500						 
501								<#if appuntamentoJA.getDDMStructureKey() = structureService.getStructureEventoKey()> 
502									<#assign appuntamentoObj = jac.getEvento(appuntamentoJA) /> 
503	                 
504	                 
505					                <div class="card-wrapper card-teaser"> 
506					                  <div class="card card-img no-after"> 
507					                    <div class="img-responsive-wrapper"> 
508					                      <div class="img-responsive"> 
509					                        <#if appuntamentoObj.getImmagineprincipale()?? && appuntamentoObj.getImmagineprincipale().getImmagine()?? && appuntamentoObj.getImmagineprincipale().getImmagine().getUrl()??> 
510						                        <figure class="img-wrapper"> 
511						                          <img src="${appuntamentoObj.getImmagineprincipale().getImmagine().getUrl()}" title="${appuntamentoObj.getImmagineprincipale().getTitolo()}" alt="${appuntamentoObj.getImmagineprincipale().getTitolo()}"> 
512						                        </figure> 
513					                        </#if> 
514					                        <div class="card-calendar d-flex flex-column justify-content-center"> 
515					                          <span class="card-date">${appuntamentoObj.getOraInizioDay(themeDisplay.getLocale())}</span> 
516					                          <span class="card-day">${appuntamentoObj.getOraInizioMonth(themeDisplay.getLocale())}</span> 
517					                        </div> 
518					                      </div> 
519					                    </div> 
520					                    <div class="card-body"> 
521					                      <h5 class="card-title"> 
522					                        <a href="${appuntamentoObj.getUrlTitle()}" class="text-decoration-none"> 
523					                        	${appuntamentoObj.getTitolo()} 
524					                        </a> 
525					                      </h5> 
526					                      <${appuntamentoObj.getDescrizionebreve()} 
527					                      <a class="read-more" href="${appuntamentoObj.getUrlTitle()}" aria-label="<@liferay.language key="evento.read.more" /> - ${appuntamentoObj.getTitolo()}"> 
528					                        <span class="text"><@liferay.language key="evento.read.more" /></span> 
529					                        <span class="visually-hidden">${appuntamentoObj.getDescrizionebreve()}</span> 
530					                        <svg class="icon"> 
531					                          <use href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-arrow-right"></use> 
532					                        </svg> 
533					                      </a> 
534					                    </div> 
535					                  </div> 
536					                </div> 
537	                			</#if> 
538	                		</#if> 
539	                	</#if> 
540	              	</#list>   
541	              </div> 
542	            </article> 
543			</#if> 
544     
545            <article id="contatti" class="it-page-section mb-5"> 
546            	<#if evento.getContatti()?? && evento.getContatti()?has_content && evento.getContatti()[0]?has_content && evento.getContatti()[0].getClassPKLong()??> 
547				  <h2 class="mb-3"><@liferay.language key="evento.contatti" /></h2> 
548				  	<#assign contattiList = evento.getContatti() /> 
549				  	<div class="mb-4"> 
550				  		<#list contattiList as contatto> 
551				  			<#if contatto?? && contatto?has_content && contatto.getClassPKLong()?? > 
552						 
553								<#assign contattoId = contatto.getClassPKLong() /> 
554											 
555								<#if contattoId?? && contattoId?has_content > 
556						 
557									<#assign contattoJA = journalArticleLocalService.getLatestArticle(contattoId)> 
558							 
559									<#if contattoJA.getDDMStructureKey() = structureService.getStructurePuntoDiContattoKey()> 
560										<#assign contattoObj = jac.getPuntoDiContatto(contattoJA) /> 
561										 
562										<div class="card card-teaser shadow rounded mb-2"> 
563									      <svg class="icon" aria-hidden="true"> 
564									        <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-pin"></use> 
565									      </svg> 
566									      <div class="card-body"> 
567									      	<#if contattoObj.getPersonaPubblica()?? && contattoObj.getPersonaPubblica()?has_content && contattoObj.getPersonaPubblica().getClassPKLong()?? > 
568									      		<#assign personaPubblicaId = contattoObj.getPersonaPubblica().getClassPKLong() /> 
569												<#if personaPubblicaId?? && personaPubblicaId?has_content > 
570										 
571													<#assign personaPubblicaJA = journalArticleLocalService.getLatestArticle(personaPubblicaId)> 
572											 
573													<#if personaPubblicaJA.getDDMStructureKey() = structureService.getStructurePersonaPubblicaKey()> 
574														<#assign personaPubblicaObj = jac.getPersonaPubblica(personaPubblicaJA) /> 
575												        <h3 class="card-title h5"> 
576												          <a href="/-/${personaPubblicaObj.getUrlTitle()}" class="text-decoration-none"> 
577												            ${personaPubblicaObj.getNome()} ${personaPubblicaObj.getCognome()} 
578												          </a> 
579												        </h3> 
580												    </#if> 
581												</#if> 
582									        </#if> 
583									         
584									        <#assign contattolink = "" > 
585											<#if (contattoObj.getTipo())?? && (contattoObj.getTipo())?has_content> 
586												<#assign tipoObj = contattoObj.getTipo()[0] > 
587												<#list tipoObj.getValues() as tipo> 
588													<#if (tipo)?? && (tipo)?has_content> 
589														<#if tipo == "Telefono"> 
590															<#assign contattolink = "tel:" + contattoObj.getValore() > 
591														</#if> 
592														<#if tipo == "Email"> 
593															<#assign contattolink = "mailto:" + contattoObj.getValore() > 
594														</#if> 
595													</#if> 
596												</#list> 
597											</#if> 
598									         
599									        <div class="card-text"> 
600									        	<p class="fw-semibold">${contattoObj.getTipo()[0].getValues()[0]}:</p> 
601									        	<#if (contattolink)?? && (contattolink)?has_content> 
602													<a href="${contattolink}">${contattoObj.getTitololink()}</a> 
603												<#else> 
604													${contattoObj.getTitololink()} 
605												</#if> 
606									        </div> 
607									         
608									      </div> 
609									    </div> 
610										 
611										 
612									</#if> 
613								</#if> 
614							</#if> 
615				  		</#list> 
616				  	</div> 
617				</#if> 
618				 
619            </article> 
620			 
621			<#if (organizzatoda.getData())?? && (organizzatoda.getData())?has_content> 
622	            <article id="organizzato" class="it-page-section mb-5"> 
623	              <h2 class="mb-3"><@liferay.language key="Organizzato da" /></h2> 
624	              <div class="link-list-wrapper mb-3 richtext-wrapper"> 
625	                ${organizzatoda.getData()} 
626	              </div> 
627	            </article> 
628    		</#if> 
629 
630    		<#if (patrocinio.getData())?? && (patrocinio.getData())?has_content> 
631	            <article id="patrocinio" class="it-page-section mb-5"> 
632	              <h2 class="mb-3"><@liferay.language key="evento.patrocinio" /></h2> 
633	              <div class="link-list-wrapper mb-3 richtext-wrapper"> 
634	                ${patrocinio.getData()} 
635	              </div> 
636	            </article> 
637    		</#if> 
638    		 
639    		<#if (sponsor.getData())?? && (sponsor.getData())?has_content> 
640	            <article id="sponsor" class="it-page-section mb-5"> 
641	              <h2 class="mb-3"><@liferay.language key="evento.sponsor" /></h2> 
642	              <div class="link-list-wrapper richtext-wrapper"> 
643	                ${sponsor.getData()} 
644	              </div> 
645	            </article> 
646    		</#if> 
647    		 
648    		<#if (informazioni.getData())?? && (informazioni.getData())?has_content> 
649	            <article id="informazioni" class="it-page-section mb-5"> 
650	              <h2 class="mb-3"><@liferay.language key="evento.informazioni" /></h2> 
651	              <div class="link-list-wrapper richtext-wrapper"> 
652	                ${informazioni.getData()} 
653	              </div> 
654	            </article> 
655    		</#if> 
656			 
657			<article id="ultimo-aggiornamento" class="anchor-offset mt-5"> 
658				<h4 class="h6"><@liferay.language key="detail.aggiornamento" />: <span class="h6 fw-normal">${modifieddate}</span></h4> 
659			</article> 
660		</section> 
661	</div> 
662</div> 

Rating pagina

Quanto sono chiare le informazioni su questa pagina?

Valuta da 1 a 5 stelle la pagina

Quali sono stati gli aspetti che hai preferito? 1/2

Dove hai incontrato le maggiori difficoltà? 1/2

Vuoi aggiungere altri dettagli? 2/2

Inserire massimo 200 caratteri

Campo obbligatorio