An error occurred while processing the template.
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 artistaJA = journalArticleLoc... [in template "20096#20121#76440" at line 271, column 89] ----
1<#assign structureService=serviceLocator.findService("it.inera.structure.service.StructureService")>
2<#assign journalArticleLocalService=serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
3<#assign jac=serviceLocator.findService("it.inera.journalarticleconverter.service.JournalArticleConverter")>
4<#assign journalArticleId=.vars['reserved-article-id'].data>
5<#assign ja=journalArticleLocalService.getArticle(groupId, journalArticleId)>
6<#assign evento=jac.getEventoMUSEO(ja, locale) />
7<#assign allegati=evento.getAllegatos() />
8<#assign partecipanti=evento.getPartecipantes() />
9<#assign tipiEventoVocabularyId = structureService.getVocabularyMuseoTipieventoId() />
10
11<#assign utilityService = serviceLocator.findService("it.inera.utility.service.UtilityService")>
12
13<#assign siteBasePath = utilityService.getSiteBasePath(themeDisplay) >
14
15<#assign modifieddate = evento.getModifiedDate()?string["dd/MM/yyyy, HH:mm"]>
16
17<div class="main-section">
18 <div class="container">
19 <nav class="breadcrumb-container" aria-label="breadcrumb">
20 <ol class="breadcrumb mb-4">
21 <li class="breadcrumb-item"><a class="back-link" href="${siteBasePath}/"><@liferay.language key="breadcrumbs.home" /></a><span class="separator">/</span></li>
22 <li class="breadcrumb-item"><a class="back-link" href="${siteBasePath}/mostre-ed-eventi"><@liferay.language key="breadcrumbs.mostreedeventi" /></a><span class="separator">/</span></li>
23 <li class="breadcrumb-item active" aria-current="page">${evento.getTitolo()}
24 </li>
25 </ol>
26 </nav>
27 </div>
28</div>
29
30<section class="banner-3 section-background d-flex flex-column justify-content-center">
31 <div class="container banner-content">
32
33 <div class="row g-0">
34 <div class="col-12 col-lg-6">
35 <h1 class="mb-4 pr-4">
36 <#if (evento.getTitolo())?? && (evento.getTitolo())?has_content>
37 ${evento.getTitolo()}
38 </#if>
39 </h1>
40 <#assign vocabularies = evento.getCategories() />
41 <#if vocabularies?? && vocabularies?has_content >
42 <#list vocabularies as vocabularyId, categories>
43 <#if categories?? && categories?has_content && vocabularyId == tipiEventoVocabularyId >
44 <#list categories as category>
45 <div class="type-chip mb-4 mt-3"><span class="badge">${category.getTitle(locale)}</span></div>
46 </#list>
47 </#if>
48 </#list>
49 </#if>
50 <#if evento.getDescrizionebreve()?? && evento.getDescrizionebreve()?has_content>
51 <p>${evento.getDescrizionebreve()}</p>
52 </#if>
53 <#if evento.dataorainizio?has_content>
54 <p class="font-serif">
55 <p> <strong> Dal
56 <time class="date">
57 ${evento.dataorainizio?string("dd/MM/yyyy")}
58 </time>
59 <#if evento.dataorafine?has_content>
60 al
61 <time class="date">
62 ${evento.dataorafine?string("dd/MM/yyyy")}
63 </time>
64 </#if>
65 </strong>
66 </p>
67 </p>
68 </#if>
69
70 <button class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-0" id="shareActions" aria-label="condividi sui social" type="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
71 <div class="share-button">
72 <svg class="icon">
73 <use href="${themeDisplay.getPathThemeImages()}/sprites.svg#it-share"></use>
74 </svg><@liferay.language key="museo.social.condividi" />
75 </div>
76 <div class="dropdown-menu shadow-lg" aria-labelledby="shareActions">
77 <div class="link-list-wrapper">
78 <ul class="link-list share-btn" role="menu">
79 <li role="none"><a class="list-item" data-id="fb" href="#" role="menuitem">
80 <svg class="me-2 icon icon-sm" aria-hidden="true">
81 <use xlink:href="${themeDisplay.getPathThemeImages()}/sprites.svg#it-facebook"></use>
82 </svg><span><@liferay.language key="museo.social.facebook" /></span></a></li>
83 <li role="none"><a class="list-item" data-id="tw" href="#" role="menuitem">
84 <svg class="me-2 icon icon-sm" aria-hidden="true">
85 <use xlink:href="${themeDisplay.getPathThemeImages()}/sprites.svg#it-twitter"></use>
86 </svg><span><@liferay.language key="museo.social.twitter" /></span></a></li>
87 <li role="none"><a class="list-item" data-id="wa" href="#" role="menuitem">
88 <svg class="me-2 icon icon-sm" aria-hidden="true">
89 <use xlink:href="${themeDisplay.getPathThemeImages()}/sprites.svg#it-whatsapp"></use>
90 </svg><span><@liferay.language key="museo.social.whatsapp" /></span></a></li>
91 </ul>
92 </div>
93 </div>
94 </button>
95 </div>
96 </div>
97 </div>
98 <#if evento.immagineprincipale.immagine.url?has_content>
99 <img class="banner-image" src="${evento.immagineprincipale.immagine.url}" alt="${evento.immagineprincipale.immagine.alt}" title="<#if (immagineprincipale.immagine_titolo.getData())?? && (immagineprincipale.immagine_titolo.getData())?has_content>${immagineprincipale.immagine_titolo.getData()}</#if>"></div>
100 </#if>
101</section>
102
103<section class="section">
104 <div class="container">
105 <div class="row">
106 <div class="col-12 col-lg-4">
107 <div class="sidebar-1 mb-5" data-bs-toggle="sticky" data-bs-stackable="true">
108 <nav class="navbar it-navscroll-wrapper navbar-expand-lg" data-bs-navscroll="">
109 <div id="navbarNavProgress">
110 <div class="overlay">
111 </div>
112 <div class="menu-wrapper">
113 <div class="link-list-wrapper dropdown">
114 <button class="btn btn-dropdown dropdown-toggle" type="button" id="dropdownMenuButton" data-bs-toggle="dropdown" aria-expanded="true">
115 <h3><@liferay.language key="museo.evento.indice" /></h3>
116 <svg class="icon ms-1" role="img">
117 <use href="${themeDisplay.getPathThemeImages()}/sprites.svg#it-expand"></use>
118 </svg>
119 </button>
120 <div class="progress">
121 <div class="progress-bar it-navscroll-progressbar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
122 </div>
123
124 <ul class="link-list dropdown-menu show" aria-labelledby="dropdownMenuButton">
125 <li class="nav-item"><a class="nav-link active" href="#descrizione"><span><@liferay.language key="museo.evento.descrizione" /></span></a></li>
126 <li class="nav-item"><a class="nav-link" href="#orario"><span><@liferay.language key="museo.evento.orario" /></span></a></li>
127 <li class="nav-item"><a class="nav-link" href="#costo"><span><@liferay.language key="museo.evento.biglietti" /></span></a></li>
128 <#if evento.getVisiteGuidate()?? && evento.getVisiteGuidate()?has_content>
129 <li class="nav-item"><a class="nav-link" href="#visiteguidate"><span><@liferay.language key="museo.evento.visiteguidate" /></span></a></li>
130 </#if>
131 <#if evento.getLuogo()?? && evento.getLuogo()?has_content>
132 <li class="nav-item"><a class="nav-link" href="#luogo"><span><@liferay.language key="museo.evento.luogo" /></span></a></li>
133 </#if>
134 <#if partecipanti?size gt 0 && partecipanti[0].getNominativoPartecipante()?has_content>
135 <li class="nav-item"><a class="nav-link" href="#partecipanti"><span><@liferay.language key="museo.evento.partecipanti" /></span></a></li>
136 </#if>
137 <#if evento.getArtisti()?? && evento.getArtisti()?has_content && evento.getArtisti()[0]?has_content && evento.getArtisti()[0].getClassPKLong()?? && evento.getArtisti()[0].getClassPKLong()?has_content>
138 <li class="nav-item"><a class="nav-link" href="#artistimostra"><span><@liferay.language key="museo.evento.artistimostra" /></span></a></li>
139 </#if>
140 <#if evento.getImmaginisecondarie()?has_content && evento.getImmaginisecondarie()[0]?? && evento.getImmaginisecondarie()[0]?has_content && evento.getImmaginisecondarie()[0].getImmagine().getUrl()?? && evento.getImmaginisecondarie()[0].getImmagine().getUrl()?has_content>
141 <li class="nav-item"><a class="nav-link" href="#galleria"><span><@liferay.language key="museo.evento.immaginicorrelate" /></span></a></li>
142 </#if>
143 <#if evento.getVideos()?? && evento.getVideos()[0]?? && evento.getVideos()[0].getVideo()?? && evento.getVideos()[0].getVideo().getUrl()?? && evento.getVideos()[0].getVideo().getUrl()?has_content>
144 <li class="nav-item"><a class="nav-link" href="#video"><span><@liferay.language key="museo.evento.videocorrelati" /></span></a></li>
145 </#if>
146 <#if allegati?size gt 0 && allegati[0].getAllegato()?has_content && allegati[0].getAllegato().getPublicUrl()?has_content>
147 <li class="nav-item"><a class="nav-link" href="#materiali"><span><@liferay.language key="museo.evento.allegati" /></span></a></li>
148 </#if>
149 <#if evento.getAccessibilitaSicurezza()?? && evento.getAccessibilitaSicurezza()?has_content>
150 <li class="nav-item"><a class="nav-link" href="#accessibilitasicurezza"><span><@liferay.language key="museo.evento.accessibilitasicurezza" /></span></a></li>
151 </#if>
152 <#if evento.getUlterioriInformazioni()?? && evento.getUlterioriInformazioni()?has_content>
153 <li class="nav-item"><a class="nav-link" href="#informazioni"><span><@liferay.language key="museo.evento.info" /></span></a></li>
154 </#if>
155 <#if evento.getRivolto()?? && evento.getRivolto()?has_content>
156 <li class="nav-item"><a class="nav-link" href="#rivolto"><span><@liferay.language key="museo.evento.rivolto" /></span></a></li>
157 </#if>
158 <#if evento.getPatrocinio()?? && evento.getPatrocinio()?has_content>
159 <li class="nav-item"><a class="nav-link" href="#patrocinio"><span><@liferay.language key="museo.evento.patrocinio" /></span></a></li>
160 </#if>
161 <#if evento.getSponsor()?? && evento.getSponsor()?has_content>
162 <li class="nav-item"><a class="nav-link" href="#sponsor"><span><@liferay.language key="museo.evento.sponsor" /></span></a></li>
163 </#if>
164 <#if evento.getEventos()?? && evento.getEventos()?has_content && evento.getEventos()[0]?has_content && evento.getEventos()[0].getClassPKLong()?? && evento.getEventos()[0].getClassPKLong()?has_content>
165 <li class="nav-item"><a class="nav-link" href="#eventi"><span><@liferay.language key="museo.evento.eventicorrelati" /></span></a></li>
166 </#if>
167 <li class="nav-item"><a class="nav-link" href="#contatti"><span><@liferay.language key="museo.evento.contatti" /></span></a></li>
168 </ul>
169 </div>
170 </div>
171 </nav>
172 </div>
173 </div>
174 <div class="col-12 col-lg-8 it-page-sections-container">
175 <div class="it-page-section" id="descrizione">
176 <div class="infos-intro">
177 <h2><@liferay.language key="museo.evento.descrizione" /></h2>
178 <p class="font-serif">
179 ${evento.getDescrizione()}
180 </p>
181 </div>
182 </div>
183
184 <div class="it-page-section" id="orario">
185 <div class="infos-intro">
186 <h2><@liferay.language key="museo.evento.orario" /></h2>
187 <p class="font-serif">
188 ${evento.getOrarioEvento()}
189 </p>
190 </div>
191 </div>
192
193 <div class="it-page-section" id="costo">
194 <div class="infos-intro">
195 <h2><@liferay.language key="museo.evento.biglietti" /></h2>
196 <p class="font-serif">
197 ${evento.getCosto()}
198 </p>
199 </div>
200 </div>
201
202 <#if evento.getVisiteGuidate()?? && evento.getVisiteGuidate()?has_content>
203 <div class="it-page-section" id="visiteguidate">
204 <div class="infos-intro">
205 <h2 class="infos-title"><@liferay.language key="museo.evento.visiteguidate" /></h2>
206 <p class="font-serif">
207 ${evento.getVisiteGuidate()}
208 </p>
209 </div>
210 </div>
211 </#if>
212
213 <#if evento.getLuogo()?? && evento.getLuogo()?has_content>
214 <div class="it-page-section" id="luogo">
215 <div class="infos-intro">
216 <h2 class="infos-title"><@liferay.language key="museo.evento.luogo" /></h2>
217 <p> ${evento.getLuogo()} </p>
218 </div>
219 </div>
220 </#if>
221
222 <#if partecipanti?size gt 0 && partecipanti[0].getNominativoPartecipante()?has_content>
223 <div class="it-page-section" id="partecipanti">
224 <div class="infos-intro">
225 <h2 class="infos-title"><@liferay.language key="museo.evento.partecipanti" /></h2>
226 </div>
227 <div class="row row-cols-1 row-cols-md-3 g-5">
228 <#if evento.getPartecipantes()??>
229 <#list evento.getPartecipantes() as partecipante>
230 <div class="col">
231 <#if partecipante.getLinkPartecipante()?? && partecipante.getLinkPartecipante()?has_content>
232 <a class="card card-4 h-100" href="${partecipante.getLinkPartecipante()}">
233 <#else>
234 <a class="card card-4 h-100">
235 </#if>
236 <#if partecipante.getFotoPartecipante()?? && partecipante.getFotoPartecipante()?has_content && partecipante.getFotoPartecipante().getUrl()?? && partecipante.getFotoPartecipante().getUrl()?has_content>
237 <div class="ratio ratio-1x1">
238 <img class="card-img-top" src="${partecipante.getFotoPartecipante().getUrl()}" alt="${partecipante.getFotoPartecipante().getAlt()}">
239 </div>
240 </#if>
241 <div class="card-body">
242 <#if partecipante.getNominativoPartecipante()?? && partecipante.getNominativoPartecipante()?has_content>
243 <h3 class="h4 card-title">${partecipante.getNominativoPartecipante()}</h3>
244 </#if>
245 <#if partecipante.getProfessionePartecipante()?? && partecipante.getProfessionePartecipante()?has_content>
246 <p class="font-sans-serif">${partecipante.getProfessionePartecipante()}</p>
247 </#if>
248 </div>
249 </a>
250 </div>
251 </#list>
252 </#if>
253 </div>
254 </div>
255 </#if>
256
257 <#if evento.getArtisti()?? && evento.getArtisti()?has_content && evento.getArtisti()[0]?has_content && evento.getArtisti()[0].getClassPKLong()?? && evento.getArtisti()[0].getClassPKLong()?has_content>
258 <div class="it-page-section" id="artistimostra">
259 <div class="infos-intro">
260 <h2 class="infos-title"><@liferay.language key="museo.evento.artistimostra" /></h2>
261 </div>
262 <div class="infos-container">
263 <div class="row g-5">
264 <#list evento.getArtisti() as artista>
265 <#if artista?? && artista?has_content && artista.getClassPKLong()?? >
266
267 <#assign artistaId = artista.getClassPKLong() />
268
269 <#if artistaId?? && artistaId?has_content >
270
271 <#assign artistaJA = journalArticleLocalService.getLatestArticle(artistaId)>
272 <#if artistaJA.getDDMStructureKey() = structureService.getStructureAutoreMmgMUSEOKey()>
273
274 <#assign artistaObj = jac.getAutoreMmgMUSEO(artistaJA, locale) />
275 <div class="col-12 col-md-6">
276 <div class="card-wrapper card-space card-2-wrapper">
277 <div class="card card-2 card-2c card-big">
278 <div class="card-body">
279 <div class="top-icon with-title">
280 <h3>${artistaObj.getNome()}</h3>
281 </div><i class="mb-2"><#if artistaObj.getLuogonascita()?? && artistaObj.getLuogonascita()?has_content>${artistaObj.getLuogonascita()}</#if> <#if artistaObj.getAnnonascita()?? && artistaObj.getAnnonascita()?has_content>${artistaObj.getAnnonascita()}</#if> - <#if artistaObj.getLuogomorte()?? && artistaObj.getLuogomorte()?has_content>${artistaObj.getLuogomorte()}</#if> <#if artistaObj.getAnnomorte()?? && artistaObj.getAnnomorte()?has_content>${artistaObj.getAnnomorte()}</#if></i>
282 <a class="read-more read-more-link" href="${siteBasePath}/w/${artistaObj.getUrlTitle()}" aria-label="Leggi di più"><span class="h6 text"><@liferay.language key="museo.evento.infoartista" /></span>
283 <svg class="icon">
284 <use href="${themeDisplay.getPathThemeImages()}/sprites.svg#it-arrow-right"></use>
285 </svg></a>
286 </div>
287 </div>
288 </div>
289 </div>
290 </#if>
291 </#if>
292 </#if>
293 </#list>
294 </div>
295 </div>
296 </div>
297 </#if>
298
299 <#if evento.getImmaginisecondarie()?has_content && evento.getImmaginisecondarie()[0]?? && evento.getImmaginisecondarie()[0]?has_content && evento.getImmaginisecondarie()[0].getImmagine().getUrl()?? && evento.getImmaginisecondarie()[0].getImmagine().getUrl()?has_content>
300 <div class="it-page-section" id="galleria">
301 <div class="infos-intro">
302 <h2 class="infos-title"><@liferay.language key="museo.evento.immaginicorrelate" /></h2>
303 </div>
304 <div class="infos-container">
305 <div class="row">
306 <div class="carousel-3 it-carousel-wrapper it-carousel-landscape-abstract-three-cols splide" data-bs-carousel-splide="">
307 <div class="splide__track ps-lg-3 pe-lg-3">
308 <ul class="splide__list">
309 <#list evento.getImmaginisecondarie() as image>
310 <#if image?has_content && image.getImmagine().getUrl()?? && image.getImmagine().getUrl()?has_content>
311 <li class="splide__slide">
312 <div class="it-single-slide-wrapper">
313 <div class="card-wrapper card-space">
314 <div class="card card-img no-after">
315 <div class="img-responsive-wrapper">
316 <div class="img-responsive">
317 <div class="img-wrapper">
318 <img class="modalImage" href="${image.getImmagine().getUrl()}" alt="${image.getImmagine().getAlt()}" data-fileentryid="${image.getImmagine().getFileEntryId()}" src="${image.getImmagine().getUrl()}" data-bs-toggle="modal" data-bs-target="#modalCarouselImage">
319 </div>
320 </div>
321 </div>
322 </div>
323 </div>
324 </div>
325 </li>
326 </#if>
327 </#list>
328 </ul>
329 </div>
330 </div>
331 </div>
332 </div>
333 </div>
334 </#if>
335
336 <#if evento.getVideos()?? && evento.getVideos()[0]?? && evento.getVideos()[0].getVideo()?? && evento.getVideos()[0].getVideo().getUrl()?? && evento.getVideos()[0].getVideo().getUrl()?has_content>
337 <div class="it-page-section" id="video">
338 <div class="infos-intro">
339 <h2><@liferay.language key="museo.evento.videocorrelati" /></h2>
340 </div>
341 <div class="infos-container">
342 <div class="row">
343 <div class="carousel-3 it-carousel-wrapper it-carousel-landscape-abstract-three-cols splide" data-bs-carousel-splide="">
344 <div class="splide__track ps-lg-3 pe-lg-3">
345 <ul class="splide__list it-carousel-all">
346 <#list evento.getVideos() as video>
347 <li class="splide__slide">
348 <div class="it-single-slide-wrapper">
349 <div class="card-wrapper card-space">
350 <div class="card card-img no-after">
351 <div class="img-responsive-wrapper">
352 <div class="img-responsive">
353 <#if video.getVideo()?has_content>
354 <div class="img-wrapper">
355 <button class="btn btn-player" type="button" data-bs-toggle="modal" data-bs-target="#modalCarouselVideo" data-urlvideo="${video.getVideo().getUrl()}">
356 <svg class="icon">
357 <use href="${themeDisplay.getPathThemeImages()}/sprites.svg#it-arrow-right-triangle"></use>
358 </svg>
359 </button>
360 <video class="myVid playsinline" width="100%" disablepictureinpicture="true" controlslist="nodownload nofullscreen noremoteplayback" preload="metadata">
361 <source src="${video.getVideo().getUrl()}" type="video/mp4">
362 </video>
363 </div>
364 </#if>
365 </div>
366 </div>
367 </div>
368 </div>
369 </div>
370 </li>
371 </#list>
372 </ul>
373 </div>
374 </div>
375 </div>
376 </div>
377 </div>
378 </#if>
379
380 <#if allegati?size gt 0 && allegati[0].getAllegato()?has_content && allegati[0].getAllegato().getPublicUrl()?has_content>
381 <div class="it-page-section" id="materiali">
382 <div class="infos-intro">
383 <h2 class="infos-title"><@liferay.language key="museo.evento.allegati" /></h2>
384 <div class="row">
385 <div class="it-list-wrapper link-list-wrapper">
386 <#if evento.getAllegatos()??>
387 <ul class="it-list">
388 <#list evento.getAllegatos() as allegato>
389 <li>
390 <a class="list-item pl-0 pr-3 pt-3 pb-3" href="${allegato.getAllegato().getPublicUrl()}">
391 <div class="it-rounded-icon">
392 <svg class="icon icon-lg" aria-hidden="true">
393 <use href="${themeDisplay.getPathThemeImages()}/sprites.svg#it-file"></use>
394 </svg>
395 </div>
396
397 <#if allegato.getAllegato().getPublicUrl()?? && allegato.getAllegato().getPublicUrl()?has_content>
398 <#assign tipoAllegato = utilityService.getDocumentType(allegato.getAllegato().getFileEntryId()) >
399 <#assign dimensioneAllegato = utilityService.getDocumentSize(allegato.getAllegato().getFileEntryId()) >
400
401 <div class="it-right-zone">
402 <span class="text">
403 <#if allegato.getTitolo()?? && allegato.getTitolo()?has_content>
404 ${allegato.getTitolo()}
405 <#else>
406 <@liferay.language key="museo.evento.allegati.generico" />
407 </#if>
408 </span>
409
410 <span class="info">
411 <#if (tipoAllegato?? && tipoAllegato?has_content) || (dimensioneAllegato?? && dimensioneAllegato?has_content) >
412 (<#if tipoAllegato?? && tipoAllegato?has_content >${tipoAllegato}</#if><#if (tipoAllegato?? && tipoAllegato?has_content) || (dimensioneAllegato?? && dimensioneAllegato?has_content) >, </#if><#if (tipoAllegato?? && tipoAllegato?has_content) || (dimensioneAllegato?? && dimensioneAllegato?has_content) >${dimensioneAllegato}</#if>)
413 </#if>
414 </span>
415 </div>
416
417 </#if>
418 </a>
419 </li>
420 </#list>
421 </ul>
422 </#if>
423 </div>
424 </div>
425 </div>
426 </div>
427 </#if>
428
429 <#if evento.getAccessibilitaSicurezza()?? && evento.getAccessibilitaSicurezza()?has_content>
430 <div class="it-page-section" id="accessibilitasicurezza">
431 <div class="infos-intro">
432 <h2 class="infos-title"><@liferay.language key="museo.evento.accessibilitasicurezza" /></h2>
433 <p class="font-serif">
434 ${evento.getAccessibilitaSicurezza()}
435 </p>
436 </div>
437 </div>
438 </#if>
439
440 <#if evento.getUlterioriInformazioni()?? && evento.getUlterioriInformazioni()?has_content>
441 <div class="it-page-section" id="informazioni">
442 <div class="infos-intro">
443 <h2 class="infos-title"><@liferay.language key="museo.evento.info" /></h2>
444 <p class="font-serif">
445 ${evento.getUlterioriInformazioni()}
446 </p>
447 </div>
448 </div>
449 </#if>
450
451 <#if evento.getRivolto()?? && evento.getRivolto()?has_content>
452 <div class="it-page-section" id="rivolto">
453 <div class="infos-intro">
454 <h2 class="infos-title"><@liferay.language key="museo.evento.rivolto" /></h2>
455 <p class="font-serif">
456 ${evento.getRivolto()}
457 </p>
458 </div>
459 </div>
460 </#if>
461
462 <#if evento.getPatrocinio()?? && evento.getPatrocinio()?has_content>
463 <div class="it-page-section" id="patrocinio">
464 <div class="infos-intro">
465 <h2 class="infos-title"><@liferay.language key="museo.evento.patrocinio" /></h2>
466 <p class="font-serif">
467 ${evento.getPatrocinio()}
468 </p>
469 </div>
470 </div>
471 </#if>
472
473 <#if evento.getSponsor()?? && evento.getSponsor()?has_content>
474 <div class="it-page-section" id="sponsor">
475 <div class="infos-intro">
476 <h2 class="infos-title"><@liferay.language key="museo.evento.sponsor" /></h2>
477 <p class="font-serif">
478 ${evento.getSponsor()}
479 </p>
480 </div>
481 </div>
482 </#if>
483
484 <#if evento.getEventos()?? && evento.getEventos()?has_content && evento.getEventos()[0]?has_content && evento.getEventos()[0].getClassPKLong()?? && evento.getEventos()[0].getClassPKLong()?has_content>
485 <div class="it-page-section" id="eventi">
486 <div class="infos-intro">
487 <h2 class="infos-title"><@liferay.language key="museo.evento.eventicorrelati" /></h2>
488 <div class="row g-5">
489 <#list evento.getEventos() as eventocorrelato>
490 <#if eventocorrelato?? && eventocorrelato?has_content && eventocorrelato.getClassPKLong()?? >
491
492 <#assign eventocorrelatoId = eventocorrelato.getClassPKLong() />
493
494 <#if eventocorrelatoId?? && eventocorrelatoId?has_content >
495
496 <#assign eventocorrelatoJA = journalArticleLocalService.getLatestArticle(eventocorrelatoId)>
497 <#if eventocorrelatoJA.getDDMStructureKey() = structureService.getStructureEventoMUSEOKey()>
498
499 <#assign eventocorrelatoObj = jac.getEventoMUSEO(eventocorrelatoJA, locale) />
500
501 <div class="col-lg-6 col-12">
502 <a class="card card-5 border border-light rounded shadow h-100" href="${siteBasePath}/w/${eventocorrelatoObj.getUrlTitle()}">
503 <#if eventocorrelatoObj.immagineprincipale.immagine.url?has_content>
504 <div class="ratio ratio-21x9">
505 <img class="card-img-top" src="${eventocorrelatoObj.immagineprincipale.immagine.url}" alt="${eventocorrelatoObj.immagineprincipale.immagine.alt}" title="<#if (immagineprincipale.immagine_titolo.getData())?? && (immagineprincipale.immagine_titolo.getData())?has_content>${immagineprincipale.immagine_titolo.getData()}</#if>">
506 </div>
507 </#if>
508 <div class="card-body">
509 <h3 class="mb-3 card-title">${eventocorrelatoObj.getTitolo()}</h3>
510 <p class="card-text font-serif">${eventocorrelatoObj.getDescrizionebreve()}</p>
511 <p class="font-monospace small footer-card date"><#if eventocorrelatoObj.getDataorainizio()?? && eventocorrelatoObj.getDataorainizio()?has_content>${eventocorrelatoObj.getDataorainizio()?string('dd/MM/yyyy')}</#if><#if eventocorrelatoObj.getDataorafine()?? && eventocorrelatoObj.getDataorafine()?has_content> - ${eventocorrelatoObj.getDataorafine()?string('dd/MM/yyyy')}</#if></p>
512 </div>
513 </a>
514 </div>
515 </#if>
516 </#if>
517 </#if>
518 </#list>
519 </div>
520 </div>
521 </div>
522 </#if>
523
524 <div class="it-page-section" id="contatti">
525 <div class="infos-intro">
526 <h2 class="infos-title"><@liferay.language key="museo.evento.contatti" /></h2>
527 </div>
528 <div class="infos-container">
529 <div class="row row-cols-1 row-cols-md-3">
530 <#list evento.getContattos() as contattoObj>
531
532 <div class="col col-md-12 col-xl-4">
533
534 <#if contattoObj.getTitoloContatto()?? && contattoObj.getTitoloContatto()?has_content>
535 <h3 class="h5">${contattoObj.getTitoloContatto()}</h3>
536 <p>
537 <#assign contattoTipo = contattoObj.getTipoContatto() />
538 <#list contattoTipo as tipo>
539 <#if tipo.getValues()?? && tipo.getValues()?has_content>
540 ${tipo.getValues()[0]}:
541 </#if>
542 </#list>
543 ${contattoObj.getTestoContatto()}</p>
544 <#else>
545 <h3 class="h5">
546 <#assign contattoTipo = contattoObj.getTipoContatto() />
547 <#list contattoTipo as tipo>
548 <#if tipo.getValues()?? && tipo.getValues()?has_content>
549 ${tipo.getValues()[0]}
550 </#if>
551 </#list></h3>
552 <p>${contattoObj.getTestoContatto()}</p>
553 </#if>
554 </div>
555 </#list>
556 </div>
557 <section>
558 <div class="description mb-5">
559 <div class="d-flex justify-content-between footer-text mt-5">
560 <div class="text-update"><strong><@liferay.language key="museo.evento.ultimoaggiornamento" />: </strong>${modifieddate}</div>
561 </div>
562 </div>
563 </section>
564 </div>
565 </div>
566 </div>
567 </div>
568 </div>
569</section>