Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> relatedLuoghi[0]  [in template "20095#20121#34599" at line 331, column 22]

----
Tip: It's the final [] step that caused this error, not those before it.
----
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: relatedLuogo = relatedLuoghi[0]  [in template "20095#20121#34599" at line 331, column 9]
----
1<#assign 
2    FriendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService") 
3    ClassNameService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameService") 
4    LayoutLocalService=serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") 
5    JournalArticleLocalService=serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
6    journalArticleId=.vars['reserved-article-id'].data 
7    journalArticleResourceLocalServiceUtil=staticUtil["com.liferay.journal.service.JournalArticleResourceLocalServiceUtil"] 
8    assetCategoryLocalServiceUtil=staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"] 
9    articleResourcePK=journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId) 
10    categorie_evento=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) 
11    AssetVocabularyLocalServiceUtil=staticUtil["com.liferay.asset.kernel.service.AssetVocabularyLocalServiceUtil"] 
12/> 
13 
14<#setting locale=themeDisplay.getLanguageId() /> 
15 
16<#-- gestione dei breadcrumbs --> 
17<#assign 
18    paginaPadre=LayoutLocalService.getLayout(groupId, PaginaPadre.getData()?eval.privateLayout, PaginaPadre.getData()?eval.layoutId?number) 
19    ancestors=paginaPadre.getAncestors() 
20    sorted_ancestors = [] 
21/> 
22<#list ancestors as parente> 
23    <#assign 
24        sorted_ancestors += 
25        [{ 
26            "name": parente.name, 
27            "ancestors": parente.getAncestors()?size, 
28            "data": parente 
29        }] 
30    /> 
31</#list> 
32 
33<div class="container finmatica-breadcrumb-container mb-4"> 
34    <div class="row justify-content-center"> 
35        <div class="col-12 col-lg-10"> 
36            <div class="cmp-breadcrumbs" role="navigation"> 
37                <nav class="breadcrumb-container" aria-label="breadcrumb"> 
38                    <ol class="breadcrumb p-0" data-element="breadcrumb"> 
39                        <li class="breadcrumb-item"><a 
40                                href="${themeDisplay.getThemeSetting('Home URL')}"> 
41                                <span class="breadcrumb-text-truncate">Home</span> 
42                            </a> 
43                            <span class="separator">/</span> 
44                        </li> 
45                        <#list sorted_ancestors?sort_by("ancestors") as ancestor> 
46                            <li class="breadcrumb-item"><a 
47                                    href="/portal${ancestor.data.getFriendlyURL()}"> 
48                                    <span class="breadcrumb-text-truncate"> 
49                                        ${ancestor.data.getName()} 
50                                    </span> 
51                                </a> 
52                                <span class="separator">/</span> 
53                            </li> 
54                        </#list> 
55                        <li class="breadcrumb-item"><a 
56                                href="/portal${paginaPadre.getFriendlyURL()}"> 
57                                <span class="breadcrumb-text-truncate"> 
58                                    ${paginaPadre.getName()} 
59                                </span> 
60                            </a> 
61                            <span class="separator">/</span> 
62                        </li> 
63                        <li class="breadcrumb-item">${Titolo.getData()}</li> 
64                    </ol> 
65                </nav> 
66            </div> 
67        </div> 
68    </div> 
69</div> 
70 
71<#-- GET BOOLEANI --> 
72<#assign 
73    has_photo_gallery=GalleriaDiImmagini.getData()?has_content 
74    has_video_gallery=GalleriaDiVideo.getData()?has_content 
75    has_media=has_photo_gallery || has_video_gallery 
76    has_evento_genitore = jsonFactoryUtil.createJSONObject(EventoGenitore.getData())?eval?has_content 
77    has_appuntamenti = Appuntamenti.getData()?has_content 
78    allegati = [] 
79    immagini_galleria = [] 
80/> 
81 
82<#-- GET TIPO EVENTO E ARGOMENTI --> 
83<#assign 
84    tipo_evento=[] 
85    argomenti=[] 
86/> 
87<#list categorie_evento as categoryEntry> 
88    <#assign 
89        vocabulary = AssetVocabularyLocalServiceUtil.getVocabulary(categoryEntry.getVocabularyId()) 
90        className = ClassNameService.fetchClassName("com.liferay.asset.kernel.model.AssetCategory") 
91        friendlyUrlEntry = FriendlyURLEntryLocalService.getMainFriendlyURLEntry(className.getClassNameId(), categoryEntry.categoryId) 
92        friendlyUrlList = FriendlyURLEntryLocalService.getFriendlyURLEntryLocalizations(friendlyUrlEntry.friendlyURLEntryId) 
93        cat_name = categoryEntry.name 
94        cat_localized_name = categoryEntry.getTitle(themeDisplay.getLocale(), true), 
95        cat_url = friendlyUrlList[0].urlTitle 
96    /> 
97    <#assign vocabulary=AssetVocabularyLocalServiceUtil.getVocabulary(categoryEntry.getVocabularyId()) /> 
98    <#if vocabulary.name=="tassonomia argomento"> 
99        <#assign 
100            argomenti += 
101            [{ 
102                "name": cat_localized_name, 
103                "url": cat_url 
104            }] 
105        /> 
106 
107    <#elseif vocabulary.name=="tassonomia tipo di evento" || vocabulary.getDescription()=="tipo evento" /> 
108        <#assign tipo_evento +=[ cat_localized_name ] /> 
109    </#if> 
110</#list> 
111 
112<#assign has_argomenti=argomenti?size gt 0 /> 
113 
114<#-- GET ALLEGATI --> 
115<#if Allegati.getSiblings()?has_content> 
116    <#list Allegati.getSiblings() as cur_allegato> 
117        <#if cur_allegato.File.getData()?has_content> 
118            <#assign 
119                url_allegato="" 
120                nome_allegato="" 
121                allegato_data=jsonFactoryUtil.createJSONObject(cur_allegato.File.data) 
122                url_allegato=cur_allegato.File.getData() 
123                nome_allegato=cur_allegato.Etichetta.getData()?has_content?string("${cur_allegato.Etichetta.getData()}", "${cur_allegato.File.getData()}" ) 
124                allegati += 
125                [{ 
126                    "url" : url_allegato, 
127                    "nome" : nome_allegato 
128                }] 
129            /> 
130        </#if> 
131    </#list> 
132</#if> 
133 
134<#if has_photo_gallery> 
135    <#list GalleriaDiImmagini.getSiblings() as cur_GalleriaDiImmagini> 
136        <#if cur_GalleriaDiImmagini.getData()?? && cur_GalleriaDiImmagini.getData() !=""> 
137            <#assign 
138                immagini_galleria += 
139                [{ 
140                    "alt": cur_GalleriaDiImmagini.getAttribute("alt")!"", 
141                    "fileentryid": cur_GalleriaDiImmagini.getAttribute("fileEntryId"), 
142                    "src": cur_GalleriaDiImmagini.getData() 
143                }] 
144            /> 
145        </#if> 
146    </#list> 
147</#if> 
148 
149<#if has_evento_genitore> 
150    <#assign 
151        evento_genitore_data = jsonFactoryUtil.createJSONObject(EventoGenitore.getData()) 
152        tipi_evento_genitore = [] 
153        relatedGenitori = JournalArticleLocalService.getArticlesByResourcePrimKey(evento_genitore_data.classPK?number) 
154        relatedGenitore = relatedGenitori[0] 
155        document = saxReaderUtil.read(relatedGenitore.getContent()) 
156        rootElement = document.getRootElement() 
157        url_genitore = "/portal/-/${relatedGenitore.getUrlTitle()}" 
158        nome_genitore = "" 
159        descrizione_genitore = "" 
160        immagine_genitore = "" 
161        competenze_genitore = "" 
162        data_inizio_genitore = "" 
163        contatti_genitore = [] 
164        evento_genitore_categories = assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle", evento_genitore_data.classPK?number) 
165    /> 
166    <#list evento_genitore_categories as categoryEntry> 
167    <#assign 
168        vocabulary = AssetVocabularyLocalServiceUtil.getVocabulary(categoryEntry.getVocabularyId()) 
169        className = ClassNameService.fetchClassName("com.liferay.asset.kernel.model.AssetCategory") 
170        friendlyUrlEntry = FriendlyURLEntryLocalService.getMainFriendlyURLEntry(className.getClassNameId(), categoryEntry.categoryId) 
171        friendlyUrlList = FriendlyURLEntryLocalService.getFriendlyURLEntryLocalizations(friendlyUrlEntry.friendlyURLEntryId) 
172        cat_name = categoryEntry.name 
173        cat_localized_name = categoryEntry.getTitle(themeDisplay.getLocale(), true), 
174        cat_url = friendlyUrlList[0].urlTitle 
175    /> 
176        <#if 
177            vocabulary.name == "tassonomia tipo di evento" 
178            || vocabulary.getDescription() == "tipo evento" 
179
180            <#assign tipi_evento_genitore += [ cat_localized_name ] /> 
181        </#if> 
182    </#list> 
183 
184    <#if rootElement.elements()?has_content> 
185        <#list rootElement.elements() as dynamicElement> 
186            <#if dynamicElement.attributeValue("field-reference") == "Titolo"> 
187                <#assign nome_genitore = dynamicElement.element("dynamic-content").getText() /> 
188            <#elseif  dynamicElement.attributeValue("field-reference") == "DescrizioneBreve"> 
189                <#assign descrizione_genitore = dynamicElement.element("dynamic-content").getText() /> 
190            <#elseif  dynamicElement.attributeValue("field-reference") == "DataInizio"> 
191                <#assign data_inizio_genitore = getterUtil.getString(dynamicElement.element("dynamic-content").getData())?datetime("yyyy-MM-dd HH:mm")?string["dd/MM/yyyy"] /> 
192                <#assign data_inizio_genitore_day = getterUtil.getString(dynamicElement.element("dynamic-content").getData())?datetime("yyyy-MM-dd HH:mm")?string["dd"] /> 
193                <#assign data_inizio_genitore_month = getterUtil.getString(dynamicElement.element("dynamic-content").getData())?datetime("yyyy-MM-dd HH:mm")?string["MMMM"] /> 
194            <#elseif dynamicElement.attributeValue("field-reference")=="Immagine"> 
195                <#assign immagine_genitore=dynamicElement.element("dynamic-content").getText() /> 
196                <#if immagine_genitore?has_content> 
197                    <#assign immagine_genitore=jsonFactoryUtil.createJSONObject(immagine_genitore) /> 
198                    <#if immagine_genitore?has_content> 
199                        <#assign immagine_genitore=immagine_genitore?eval /> 
200                    </#if> 
201                </#if> 
202            <#elseif dynamicElement.attributeValue("field-reference") == "Competenze"> 
203                <#assign competenze_genitore = dynamicElement.element("dynamic-content").getText() /> 
204            <#elseif dynamicElement.attributeValue("field-reference") == "Contatti"> 
205                <#assign 
206                    contatti_genitore_data = jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) 
207                    relatedContatti = JournalArticleLocalService.getArticlesByResourcePrimKey(contatti_UO_data.classPK?number) 
208                    tipo_contatto = "" 
209                    valore_contatto = "" 
210                    categorie_contatti=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",contatti_UO_data.classPK?number) 
211                    relatedContatto = relatedContatti[0] 
212                    document = saxReaderUtil.read(relatedContatto.getContent()) 
213                    rootElement = document.getRootElement() 
214                /> 
215 
216                <#list categorie_contatti as categoryEntry> 
217                    <#assign 
218                        vocabulary = AssetVocabularyLocalServiceUtil.getVocabulary(categoryEntry.getVocabularyId()) 
219                        className = ClassNameService.fetchClassName("com.liferay.asset.kernel.model.AssetCategory") 
220                        friendlyUrlEntry = FriendlyURLEntryLocalService.getMainFriendlyURLEntry(className.getClassNameId(), categoryEntry.categoryId) 
221                        friendlyUrlList = FriendlyURLEntryLocalService.getFriendlyURLEntryLocalizations(friendlyUrlEntry.friendlyURLEntryId) 
222                        cat_name = categoryEntry.name 
223                        cat_localized_name = categoryEntry.getTitle(themeDisplay.getLocale(), true), 
224                        cat_url = friendlyUrlList[0].urlTitle 
225                    /> 
226                    <#if categoryEntry.name?lower_case == "url"> 
227                        <#assign tipo_contatto = "${languageUtil.get(locale, 'Sito-Web')}" /> 
228                    <#else> 
229                        <#assign tipo_contatto = cat_localized_name /> 
230                    </#if> 
231                </#list> 
232 
233                <#list rootElement.elements() as dynamicElement> 
234                    <#if dynamicElement.attributeValue("name") == "Valore"> 
235                        <#assign valore_contatto = dynamicElement.element("dynamic-content").getText()/> 
236                    </#if> 
237                </#list> 
238 
239                <#assign contatti_UO += [tipo_contatto?string, valore_contatto?string] /> 
240            </#if> 
241        </#list> 
242    </#if> 
243</#if> 
244 
245<#assign appuntamenti = [] /> 
246<#if Appuntamenti.getSiblings()?has_content> 
247    <#list Appuntamenti.getSiblings() as cur_Appuntamenti> 
248        <#assign 
249            evento_appuntamento_data = jsonFactoryUtil.createJSONObject(cur_Appuntamenti.getData()) 
250        /> 
251        <#if evento_appuntamento_data.classPK?has_content> 
252            <#assign 
253                tipi_evento_appuntamento = [] 
254                relatedAppuntamenti = JournalArticleLocalService.getArticlesByResourcePrimKey(evento_appuntamento_data.classPK?number) 
255                relatedAppuntamento = relatedAppuntamenti[0] 
256                document = saxReaderUtil.read(relatedAppuntamento.getContent()) 
257                rootElement = document.getRootElement() 
258                url_appuntamento = "/portal/-/${relatedAppuntamento.getUrlTitle()}" 
259                nome_appuntamento = "" 
260                descrizione_appuntamento = "" 
261                immagine_appuntamento = "" 
262                data_inizio_appuntamento = "" 
263                evento_appuntamento_categories = assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle", evento_appuntamento_data.classPK?number) 
264            /> 
265            <#list evento_appuntamento_categories as categoryEntry> 
266            <#assign 
267                vocabulary = AssetVocabularyLocalServiceUtil.getVocabulary(categoryEntry.getVocabularyId()) 
268                className = ClassNameService.fetchClassName("com.liferay.asset.kernel.model.AssetCategory") 
269                friendlyUrlEntry = FriendlyURLEntryLocalService.getMainFriendlyURLEntry(className.getClassNameId(), categoryEntry.categoryId) 
270                friendlyUrlList = FriendlyURLEntryLocalService.getFriendlyURLEntryLocalizations(friendlyUrlEntry.friendlyURLEntryId) 
271                cat_name = categoryEntry.name 
272                cat_localized_name = categoryEntry.getTitle(themeDisplay.getLocale(), true), 
273                cat_url = friendlyUrlList[0].urlTitle 
274            /> 
275                <#if 
276                    vocabulary.name == "tassonomia tipo di evento" 
277                    || vocabulary.getDescription() == "tipo evento" 
278
279                    <#assign tipi_evento_appuntamento += [ cat_localized_name ] /> 
280                </#if> 
281            </#list> 
282 
283            <#if rootElement.elements()?has_content> 
284                <#list rootElement.elements() as dynamicElement> 
285                    <#if dynamicElement.attributeValue("field-reference") == "Titolo"> 
286                        <#assign nome_appuntamento = dynamicElement.element("dynamic-content").getText() /> 
287                    <#elseif  dynamicElement.attributeValue("field-reference") == "DescrizioneBreve"> 
288                        <#assign descrizione_appuntamento = dynamicElement.element("dynamic-content").getText() /> 
289                    <#elseif  dynamicElement.attributeValue("field-reference") == "DataInizio"> 
290                        <#assign data_inizio_appuntamento = getterUtil.getString(dynamicElement.element("dynamic-content").getData())?datetime("yyyy-MM-dd HH:mm")?string["dd/MM/yyyy"] /> 
291                        <#assign data_inizio_appuntamento_day = getterUtil.getString(dynamicElement.element("dynamic-content").getData())?datetime("yyyy-MM-dd HH:mm")?string["dd"] /> 
292                        <#assign data_inizio_appuntamento_month = getterUtil.getString(dynamicElement.element("dynamic-content").getData())?datetime("yyyy-MM-dd HH:mm")?string["MMMM"] /> 
293                    <#elseif dynamicElement.attributeValue("field-reference")=="Immagine"> 
294                        <#assign immagine_appuntamento=dynamicElement.element("dynamic-content").getText() /> 
295                        <#if immagine_appuntamento?has_content> 
296                            <#assign immagine_appuntamento=jsonFactoryUtil.createJSONObject(immagine_appuntamento) /> 
297                            <#if immagine_appuntamento?has_content> 
298                                <#assign immagine_appuntamento=immagine_appuntamento?eval /> 
299                            </#if> 
300                        </#if> 
301                    <#elseif dynamicElement.attributeValue("field-reference") == "Competenze"> 
302                        <#assign competenze_appuntamento = dynamicElement.element("dynamic-content").getText() /> 
303                    </#if> 
304                </#list> 
305                <#assign appuntamenti += 
306                [{ 
307                    "nome": nome_appuntamento, 
308                    "immagine": immagine_appuntamento, 
309                    "descrizione": descrizione_appuntamento, 
310                    "data_inizio": data_inizio_appuntamento, 
311                    "giorno": data_inizio_appuntamento_day, 
312                    "mese": data_inizio_appuntamento_month, 
313                    "tipi": tipi_evento_appuntamento, 
314                    "url": url_appuntamento 
315                }] /> 
316            </#if> 
317        </#if> 
318    </#list> 
319</#if> 
320 
321<#-- GET LUOGO_DATA --> 
322<#assign 
323    luogo_data=jsonFactoryUtil.createJSONObject(Luogo.getData()) 
324    has_luogo=luogo_data?eval?has_content 
325/> 
326 
327<#if has_luogo> 
328    <#assign 
329        relatedLuoghi=JournalArticleLocalService.getArticlesByResourcePrimKey(luogo_data.classPK?number) 
330        relatedLuogo=relatedLuoghi[0] 
331        document=saxReaderUtil.read(relatedLuogo.getContent()) 
332        rootElement=document.getRootElement() 
333        nome_luogo="" 
334        url_luogo="${relatedLuogo.getUrlTitle()}" 
335        indirizzo_luogo="" 
336        orari_luogo="" 
337        immagine_luogo="" 
338        urlImmagine_luogo="" 
339        has_immagine_luogo=false 
340    /> 
341    <#list rootElement.elements() as dynamicElement> 
342        <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
343            <#assign nome_luogo=dynamicElement.element("dynamic-content").getText() /> 
344        <#elseif dynamicElement.attributeValue("field-reference")=="Indirizzo"> 
345            <#assign indirizzo_luogo=dynamicElement.element("dynamic-content").getText() /> 
346        <#elseif dynamicElement.attributeValue("field-reference")=="OrarioPerIlPubblico"> 
347            <#assign orari_luogo=dynamicElement.element("dynamic-content").getText() /> 
348        <#elseif dynamicElement.attributeValue("field-reference")=="Immagine"> 
349            <#assign immagine_luogo="" /> 
350            <#if dynamicElement.element("dynamic-content")??> 
351                <#assign immagine_luogo=dynamicElement.element("dynamic-content").getText() /> 
352                <#if immagine_luogo?has_content> 
353                    <#assign immagine_luogo=jsonFactoryUtil.createJSONObject(immagine_luogo) /> 
354                    <#if immagine_luogo?has_content && immagine_luogo.url?has_content> 
355                        <#assign 
356                            immagine_luogo=immagine_luogo?eval 
357                            has_immagine_luogo=immagine_luogo?has_content && immagine_luogo.url?has_content /> 
358                    <#else> 
359                        <#assign has_immagine_luogo=false /> 
360                    </#if> 
361                </#if> 
362            </#if> 
363        </#if> 
364    </#list> 
365</#if> 
366<#-- GET DATI UO --> 
367<#assign 
368    data_UO=jsonFactoryUtil.createJSONObject(OrganizzatoDa.getData()) 
369    has_UO=data_UO?eval?has_content 
370/> 
371<#if has_UO> 
372    <#assign 
373        relatedArticles=JournalArticleLocalService.getArticlesByResourcePrimKey(data_UO.classPK?number) 
374        relatedArticle=relatedArticles[0] 
375        document=saxReaderUtil.read(relatedArticle.getContent()) 
376        rootElement=document.getRootElement() 
377        url_UO=relatedArticle.getUrlTitle() 
378        nome_UO="" 
379        descrizione_UO="" 
380        immagine_UO="" 
381        urlImmagine_UO="" 
382        competenze_UO="" 
383        indirizzo_UO="" 
384        contatti_UO=[] 
385    /> 
386    <#if rootElement.elements()?has_content> 
387        <#list rootElement.elements() as dynamicElement> 
388            <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
389                <#assign nome_UO=dynamicElement.element("dynamic-content").getText() /> 
390            <#elseif dynamicElement.attributeValue("field-reference")=="DescrizioneBreve"> 
391                <#assign descrizione_UO=dynamicElement.element("dynamic-content").getText() /> 
392            <#elseif dynamicElement.attributeValue("field-reference")=="Immagine"> 
393                <#assign immagine_UO=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) /> 
394                <#if immagine_UO.uuid?has_content> 
395                    <#assign urlImmagine_UO="/portal/c/document_library/get_file?uuid=" + immagine_UO.uuid + "&amp;groupId=" + immagine_UO.groupId /> 
396                </#if> 
397            <#elseif dynamicElement.attributeValue("field-reference")=="Competenze"> 
398                <#assign competenze_UO=dynamicElement.element("dynamic-content").getText() /> 
399            <#elseif dynamicElement.attributeValue("field-reference")=="SedePrincipale"> 
400                <#assign 
401                    sede_UO_data=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) 
402                    relatedSedi=JournalArticleLocalService.getArticlesByResourcePrimKey(sede_UO_data.classPK?number) 
403                    relatedSede=relatedSedi[0] 
404                    document=saxReaderUtil.read(relatedSede.getContent()) 
405                    rootElement=document.getRootElement() 
406                /> 
407                <#list rootElement.elements() as dynamicElement> 
408                    <#if dynamicElement.attributeValue("field-reference")=="Indirizzo"> 
409                        <#assign indirizzo_UO=dynamicElement.element("dynamic-content").getText() /> 
410                    </#if> 
411                </#list> 
412            <#elseif dynamicElement.attributeValue("field-reference")=="Contatti"> 
413                <#assign 
414                    valore_contatto="" 
415                    contatti_UO_data=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) 
416                    relatedContatti=JournalArticleLocalService.getArticlesByResourcePrimKey(contatti_UO_data.classPK?number) 
417                    relatedContatto=relatedContatti[0] 
418                    document=saxReaderUtil.read(relatedContatto.getContent()) 
419                    rootElement=document.getRootElement() 
420                /> 
421                <#list rootElement.elements() as dynamicElement> 
422                    <#if dynamicElement.element("dynamic-content").getText()?has_content> 
423                        <#assign 
424                            tipo_contatto=(dynamicElement.attributeValue("field-reference")=="URL" )?string("Sito Web", dynamicElement.attributeValue("field-reference")) 
425                            contatti_UO += 
426                            [{ 
427                                "tipo" : tipo_contatto, 
428                                "valore" : dynamicElement.element("dynamic-content").getText() 
429                            }] 
430                        /> 
431                    </#if> 
432                </#list> 
433            </#if> 
434        </#list> 
435    </#if> 
436</#if> 
437 
438<#-- SEZIONE GET CONTATTI --> 
439<#assign 
440    contatti_wallet=[] 
441    contatti_data=jsonFactoryUtil.createJSONObject(PuntiDiContatto.getData()) 
442    has_contatti=contatti_data?eval?has_content 
443/> 
444<#if has_contatti> 
445    <#assign 
446        relatedArticles=JournalArticleLocalService.getArticlesByResourcePrimKey(contatti_data.classPK?number) 
447        relatedArticle=relatedArticles[0] 
448        document=saxReaderUtil.read(relatedArticle.getContent()) 
449        rootElement=document.getRootElement() 
450    /> 
451    <#list rootElement.elements() as dynamicElement> 
452        <#if dynamicElement.element("dynamic-content")?? && dynamicElement.element("dynamic-content").getText()?has_content> 
453            <#assign 
454                tipo_contatto=(dynamicElement.attributeValue("field-reference")=="URL" )?string("Sito Web", dynamicElement.attributeValue("field-reference")) 
455                contatti_wallet += 
456                [{ 
457                    "tipo" : tipo_contatto, 
458                    "valore" : dynamicElement.element("dynamic-content").getText() 
459                }] 
460            /> 
461        </#if> 
462    </#list> 
463</#if> 
464 
465<#assign parteciperanno=[] /> 
466<#if Parteciperanno.getData()?has_content> 
467    <#list Parteciperanno.getSiblings() as cur_Persone> 
468        <#assign 
469            cur_persona_data=jsonFactoryUtil.createJSONObject(cur_Persone.getData()) 
470            relatedPersone=JournalArticleLocalService.getArticlesByResourcePrimKey(cur_persona_data.classPK?number) 
471            relatedPersona=relatedPersone[0] 
472            document=saxReaderUtil.read(relatedPersona.getContent()) 
473            rootElement=document.getRootElement() 
474            nome_persona="" 
475            cognome_persona="" 
476            immagine_persona="" 
477            biografia="" 
478            incarichi=[] 
479        /> 
480        <#list rootElement.elements() as dynamicElement> 
481            <#if dynamicElement.attributeValue("field-reference")=="Nome"> 
482                <#assign nome_persona=dynamicElement.element("dynamic-content").getText() /> 
483            <#elseif dynamicElement.attributeValue("field-reference")=="Cognome"> 
484                <#assign cognome_persona=dynamicElement.element("dynamic-content").getText() /> 
485            <#elseif dynamicElement.attributeValue("field-reference")=="Incarichi"> 
486                <#assign 
487                    incarichi_data=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getText()) 
488                    has_incarichi=incarichi_data?eval?? && incarichi_data?eval?has_content 
489                /> 
490 
491                <#if has_incarichi> 
492                    <#assign 
493                        relatedIncarichi=JournalArticleLocalService.getArticlesByResourcePrimKey(incarichi_data.classPK?number) 
494                        relatedIncarico=relatedIncarichi[0] 
495                        document=saxReaderUtil.read(relatedIncarico.getContent()) 
496                        rootElement=document.getRootElement() 
497                    /> 
498                    <#list rootElement.elements() as dynamicElement> 
499                        <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
500                            <#assign 
501                                nome_incarico = dynamicElement.element("dynamic-content").getText() 
502                                incarichi += [ nome_incarico ] 
503                            /> 
504                        </#if> 
505                    </#list> 
506                </#if> 
507 
508            <#elseif dynamicElement.attributeValue("field-reference")=="Biografia"> 
509                <#assign biografia=dynamicElement.element("dynamic-content").getText() /> 
510            <#elseif dynamicElement.attributeValue("field-reference")=="Immagine"> 
511                <#assign immagine=dynamicElement.element("dynamic-content").getText() /> 
512                <#if immagine?has_content> 
513                    <#assign immagine=jsonFactoryUtil.createJSONObject(immagine) /> 
514                    <#if immagine?has_content> 
515                        <#assign immagine=immagine?eval /> 
516                    </#if> 
517                </#if> 
518            </#if> 
519        </#list> 
520        <#assign 
521            parteciperanno += 
522            [{ 
523                "nome" : nome_persona + " " + cognome_persona, 
524                "url" : "${cur_Persone.getFriendlyUrl()}", 
525                "immagine" : immagine, 
526                "biografia" : biografia, 
527                "incarichi" : incarichi 
528            }] 
529        /> 
530    </#list> 
531</#if> 
532<div class="container"> 
533    <div class="row justify-content-center"> 
534        <div class="col-12 col-lg-10"> 
535            <div class="cmp-heading pb-3 pb-lg-4"> 
536                <div class="row"> 
537                    <div class="col-lg-8 py-lg-2"> 
538                        <h1> 
539                            ${Titolo.getData()} 
540                        </h1> 
541                        <h2 class="visually-hidden"><@liferay.language key="announcement-details" /></h2> 
542                        <p> 
543                            ${Sottotitolo.getData()} 
544                        </p> 
545                        <div class="row mt-5 mb-4"> 
546 
547                        <#if (DataInizio.getData())??> 
548                        <#assign DataInizio_Data=getterUtil.getString(DataInizio.getData()) /> 
549                            <#if validator.isNotNull(DataInizio_Data)> 
550                            <div class="col-6"> 
551                                <small><@liferay.language key="event-start" />:</small> 
552                                <p class="fw-semibold font-monospace"> 
553                                    ${DataInizio_Data?datetime("yyyy-MM-dd HH:mm")?string["dd/MM/yyyy HH:mm"]} 
554                                </p> 
555                            </div> 
556                            </#if> 
557                        </#if> 
558 
559                        <#if (DataFine.getData())??> 
560                        <#assign DataFine_Data=getterUtil.getString(DataFine.getData()) /> 
561                            <#if validator.isNotNull(DataFine_Data)> 
562                            <div class="col-6"> 
563                                    <small><@liferay.language key="event-end" />:</small> 
564                                    <p class="fw-semibold font-monospace"> 
565                                        ${DataFine_Data?datetime("yyyy-MM-dd HH:mm")?string["dd/MM/yyyy HH:mm"]} 
566                                    </p> 
567                            </div> 
568                            </#if> 
569                        </#if> 
570 
571                        </div> 
572                    </div> 
573 
574                    <div class="col-lg-3 offset-lg-1 mt-5 mt-lg-0"> 
575 
576                        <div class="dropdown" id="fallback-share"> 
577                            <button 
578                                aria-label="condividi sui social" 
579                                class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-6 text-primary" 
580                                type="button" 
581                                id="shareActions" 
582                                data-bs-toggle="dropdown" 
583                                aria-haspopup="true" 
584                                aria-expanded="false" 
585
586                                <svg class="icon icon-primary" aria-hidden="true"> 
587                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-share"></use> 
588                                </svg> 
589                                <small><@liferay.language key="share" /></small> 
590                            </button> 
591                            <div class="dropdown-menu shadow-lg" aria-labelledby="shareActions"> 
592                                <div class="link-list-wrapper"> 
593                                    <ul class="link-list" role="menu"> 
594                                        <li role="none"> 
595                                            <button class="list-item text-primary px-3 fs-6" role="menuitem" onclick="shareOn('facebook')"> 
596                                                <svg class="icon icon-primary" aria-hidden="true"> 
597                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-facebook"></use> 
598                                                </svg> 
599                                                <span>Facebook</span> 
600                                            </button> 
601                                        </li> 
602                                        <li role="none"> 
603                                            <button class="list-item text-primary px-3 fs-6" role="menuitem" onclick="shareOn('twitter')"> 
604                                                <svg class="icon icon-primary" aria-hidden="true"> 
605                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-twitter"></use> 
606                                                </svg> 
607                                                <span><@liferay.language key="Twitter" /></span> 
608                                            </button> 
609                                        </li> 
610                                        <li role="none"> 
611                                            <button class="list-item text-primary px-3 fs-6" role="menuitem" onclick="shareOn('whatsapp')"> 
612                                                <svg class="icon icon-primary" aria-hidden="true"> 
613                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-whatsapp"></use> 
614                                                </svg> 
615                                                <span>Whatsapp</span> 
616                                            </button> 
617                                        </li> 
618                                    </ul> 
619                                </div> 
620                            </div> 
621                        </div> 
622 
623                        <div class="dropdown"> 
624                            <button 
625                                aria-label="vedi azioni da compiere sulla pagina" 
626                                class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-0" 
627                                type="button" 
628                                id="viewActions" 
629                                data-bs-toggle="dropdown" 
630                                aria-haspopup="true" 
631                                aria-expanded="false" 
632
633                                <svg class="icon icon-primary" aria-hidden="true"> 
634                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-more-items"></use> 
635                                </svg> 
636                                <small><@liferay.language key="actions" /></small> 
637                            </button> 
638                            <div class="dropdown-menu shadow-lg" aria-labelledby="viewActions"> 
639                                <div class="link-list-wrapper"> 
640                                    <ul class="link-list" role="menu"> 
641                                        <li role="none"> 
642                                            <button class="list-item px-3 fs-6 text-primary" onclick="window.print()" role="menuitem"> 
643                                                <svg class="icon icon-primary" aria-hidden="true"> 
644                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-print"></use> 
645                                                </svg> 
646                                                <span><@liferay.language key="print" /></span> 
647                                            </button> 
648                                        </li> 
649                                        <li role="none"> 
650                                            <a class="list-item mail-anchor px-3 fs-6" href="mailto:" role="menuitem"> 
651                                                <svg class="icon icon-primary" aria-hidden="true"> 
652                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-mail"></use> 
653                                                </svg> 
654                                                <span><@liferay.language key="send" /></span> 
655                                            </a> 
656                                        </li> 
657                                    </ul> 
658                                </div> 
659                            </div> 
660                        </div> 
661 
662                        <#list argomenti> 
663                        <div class="mt-4 mb-3"> 
664                            <span class="text-paragraph-small fw-semibold"><@liferay.language key="topics" />:</span> 
665                            <ul class="d-flex flex-wrap gap-2 mt-10 mb-3"> 
666 
667                                <#items as argomento> 
668                                <li> 
669                                    <a href="${argomento.url}" class="chip chip-simple"> 
670                                        <span class="chip-label"> 
671                                            ${argomento.name} 
672                                        </span> 
673                                    </a> 
674                                </li> 
675                                </#items> 
676 
677                            </ul> 
678                        </div> 
679                        </#list> 
680 
681                        <#list tipo_evento> 
682                        <div class="mb-3"> 
683                            <span class="text-paragraph-small fw-semibold"><@liferay.language key="event-type" />:</span> 
684                            <ul> 
685                                <#items as tipo> 
686                                <li> 
687                                    <span class="badge bg-primary"> 
688                                        ${tipo} 
689                                    </span> 
690                                </li> 
691                                </#items> 
692 
693                            </ul> 
694                        </div> 
695                        </#list> 
696 
697                    </div> 
698                </div> 
699            </div> 
700        </div> 
701 
702    </div> 
703</div> 
704<#-- IMMAGINE HERO --> 
705<#if Immagine.getData()?? && Immagine.getData() !=""> 
706<div class="container-fluid my-3"> 
707    <div class="row"> 
708        <figure class="figure px-0 img-full"> 
709            <img src="${Immagine.getData()}" class="figure-img img-fluid" alt="${Immagine.getAttribute('alt')}" loading="lazy"> 
710            <figcaption class="figure-caption text-center pt-3"> 
711                ${Immagine.getAttribute("alt")} 
712            </figcaption> 
713        </figure> 
714    </div> 
715</div> 
716</#if> 
717<#-- NAVIGAZIONE E CONTENUTO --> 
718<div class="container"> 
719    <div class="row border-top border-light row-column-menu-left pb-4 pb-lg-80"> 
720        <div class="col-12 col-lg-3 mb-4 border-col"> 
721            <div class="cmp-navscroll sticky-top" aria-labelledby="accordion-title-one"> 
722                <nav class="navbar it-navscroll-wrapper navbar-expand-lg" aria-label="<@liferay.language key='page-index' />" data-bs-navscroll=""> 
723                    <div class="navbar-custom" id="navbarNavProgress"> 
724                        <div class="menu-wrapper"> 
725                            <div class="link-list-wrapper"> 
726                                <div class="accordion"> 
727                                    <div class="accordion-item"> 
728                                        <span class="accordion-header" id="accordion-title-one"> 
729                                            <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"> 
730                                                <@liferay.language key="page-index" /> 
731                                                <svg class="icon icon-xs right"> 
732                                                    <use href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-expand"></use> 
733                                                </svg> 
734                                            </button> 
735                                        </span> 
736                                        <div class="progress"> 
737                                            <div class="progress-bar it-navscroll-progressbar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;" aria-label="Progress bar"></div> 
738                                        </div> 
739                                        <div id="collapse-one" class="accordion-collapse collapse show" role="region" aria-labelledby="accordion-title-one"> 
740                                            <div class="accordion-body"> 
741                                                <ul class="link-list" data-element="page-index"> 
742                                                    <#-- LINK A SEZIONE --> 
743 
744                                                    <#if Descrizione.getData()?has_content> 
745                                                    <li class="nav-item"> 
746                                                        <a class="nav-link" href="#description"> 
747                                                            <span class="title-medium"><@liferay.language key="description" /></span> 
748                                                        </a> 
749                                                    </li> 
750                                                    </#if> 
751 
752                                                    <#if has_evento_genitore> 
753                                                    <li class="nav-item"> 
754                                                        <a class="nav-link" href="#parent"> 
755                                                            <span class="title-medium"><@liferay.language key="parent-event" /></span> 
756                                                        </a> 
757                                                    </li> 
758                                                    </#if> 
759 
760                                                    <#if Parteciperanno.getData()?has_content> 
761                                                    <li class="nav-item"> 
762                                                        <a class="nav-link" href="#people"> 
763                                                            <span class="title-medium"><@liferay.language key="will-participate" /></span> 
764                                                        </a> 
765                                                    </li> 
766                                                    </#if> 
767 
768                                                    <#if has_media> 
769                                                    <li class="nav-item"> 
770                                                        <a class="nav-link" href="#galleries"> 
771                                                            <span class="title-medium"><@liferay.language key="images-and-videos" /></span> 
772                                                        </a> 
773                                                    </li> 
774                                                    </#if> 
775 
776                                                    <#if AChieRivolto.getData()?has_content> 
777                                                    <li class="nav-item"> 
778                                                        <a class="nav-link" href="#who"> 
779                                                            <span class="title-medium"><@liferay.language key="aimed-at" /></span> 
780                                                        </a> 
781                                                    </li> 
782                                                    </#if> 
783 
784                                                    <#if has_luogo> 
785                                                    <li class="nav-item"> 
786                                                        <a class="nav-link" href="#place"> 
787                                                            <span class="title-medium"><@liferay.language key="place" /></span> 
788                                                        </a> 
789                                                    </li> 
790                                                    </#if> 
791 
792                                                    <#if Costo.getData()?has_content> 
793                                                    <li class="nav-item"> 
794                                                        <a class="nav-link" href="#costs"> 
795                                                            <span class="title-medium"><@liferay.language key="costs" /></span> 
796                                                        </a> 
797                                                    </li> 
798                                                    </#if> 
799 
800                                                    <#if allegati?size gt 0> 
801                                                    <li class="nav-item"> 
802                                                        <a class="nav-link" href="#attachments"> 
803                                                            <span class="title-medium"><@liferay.language key="attachments" /></span> 
804                                                        </a> 
805                                                    </li> 
806                                                    </#if> 
807 
808                                                    <#if appuntamenti?size gt 0> 
809                                                    <li class="nav-item"> 
810                                                        <a class="nav-link" href="#appointments"> 
811                                                            <span class="title-medium"><@liferay.language key="meetups" /></span> 
812                                                        </a> 
813                                                    </li> 
814                                                    </#if> 
815 
816                                                    <#if has_contatti> 
817                                                    <li class="nav-item"> 
818                                                        <a class="nav-link" href="#contacts"> 
819                                                            <span class="title-medium"><@liferay.language key="contacts" /></span> 
820                                                        </a> 
821                                                    </li> 
822                                                    </#if> 
823 
824                                                    <#if has_UO> 
825                                                    <li class="nav-item"> 
826                                                        <a class="nav-link" href="#office"> 
827                                                            <span class="title-medium"><@liferay.language key="organized-by" /></span> 
828                                                        </a> 
829                                                    </li> 
830                                                    </#if> 
831 
832                                                    <#if PatrocinatoDa.getData()?? && PatrocinatoDa.getData()?has_content> 
833                                                    <li class="nav-item"> 
834                                                        <a class="nav-link" href="#patrocinato"> 
835                                                            <span class="title-medium"><@liferay.language key="sponsored-by" /></span> 
836                                                        </a> 
837                                                    </li> 
838                                                    </#if> 
839 
840                                                    <#if Sponsor.getData()?has_content> 
841                                                    <li class="nav-item"> 
842                                                        <a class="nav-link" href="#sponsor"> 
843                                                            <span class="title-medium"><@liferay.language key="sponsors" /></span> 
844                                                        </a> 
845                                                    </li> 
846                                                    </#if> 
847 
848                                                    <#if UlterioriInformazioni.getData()?has_content> 
849                                                    <li class="nav-item"> 
850                                                        <a class="nav-link" href="#more-info"> 
851                                                            <span class="title-medium"><@liferay.language key="more-info" /></span> 
852                                                        </a> 
853                                                    </li> 
854                                                    </#if> 
855                                                </ul> 
856                                            </div> 
857                                        </div> 
858                                    </div> 
859                                </div> 
860                            </div> 
861                        </div> 
862                    </div> 
863                </nav> 
864            </div> 
865        </div> 
866        <div class="col-12 col-lg-8 offset-lg-1"> 
867            <div class="it-page-sections-container pt-4"> 
868            <#-- CONTENUTO --> 
869            <#if Descrizione.getData()?has_content> 
870            <section class="it-page-section mb-30" id="description"> 
871                <h2 class="title-xxlarge mb-3"><@liferay.language key="description" /></h2> 
872                <div class="richtext-wrapper lora"> 
873                    ${Descrizione.getData()} 
874                </div> 
875            </section> 
876            </#if> 
877 
878            <#if has_evento_genitore> 
879            <section class="it-page-section mb-30" id="parent"> 
880                <h2 class="title-xxlarge mb-3"><@liferay.language key="parent-event" /></h2> 
881                <div class="row"> 
882                    <div class="col-12"> 
883                        <div class="card-wrapper border border-light rounded shadow-sm cmp-list-card-img cmp-list-card-img-hr"> 
884                            <div class="card no-after rounded mw-100"> 
885                                <div class="row g-2 g-md-0 flex-md-column"> 
886                                    <#if immagine_genitore?has_content && immagine_genitore.url?has_content> 
887                                    <div class="col-4 order-2 order-md-1" style="position-relative"> 
888                                        <div class="card-calendar d-flex flex-column justify-content-center"> 
889                                            <span class="card-date">${data_inizio_genitore_day}</span> 
890                                            <span class="card-day">${data_inizio_genitore_month}</span> 
891                                        </div> 
892                                        <img 
893                                            class="rounded-top img-fluid img-responsive" 
894                                            src="${immagine_genitore.url}" 
895                                            title="${nome_genitore}" 
896                                            alt="${nome_genitore}" 
897                                        /> 
898                                    </div> 
899                                    </#if> 
900                                    <div class="col-8 order-1 order-md-2"> 
901                                        <div class="card-body pb-0"> 
902                                            <div class="category-top cmp-list-card-img__body"> 
903                                                <div> 
904                                                    <span class="category"> 
905                                                        <#list tipi_evento_genitore as tipo> 
906                                                        <div class="badge bg-primary">${tipo}</div> 
907                                                        </#list> 
908                                                    </span> 
909                                                    <span class="data">${data_inizio_genitore}</span> 
910                                                </div> 
911                                            </div> 
912                                            <a href="${url_genitore}" class="text-decoration-none"> 
913                                                <h3 class="h5 card-title">${nome_genitore}</h3> 
914                                            </a> 
915                                            <p class="card-text d-none d-md-block lora">${descrizione_genitore}</p> 
916                                        </div> 
917                                    </div> 
918                                </div> 
919                            </div> 
920                        </div> 
921                    </div> 
922                </div> 
923            </section> 
924            </#if> 
925 
926            <#list parteciperanno> 
927            <section class="it-page-section mb-30 pt-4" id="people"> 
928                <h2 class="title-xxlarge mb-3"><@liferay.language key="will-participate" /></h2> 
929                <div class="row"> 
930                    <#items as persona> 
931                    <div class="col-12 col-lg-6 p-0 pe-3 mb-3 shadow-sm rounded"> 
932                        <div class="d-flex pe-0"> 
933                            <div class="col-12 col-lg-9 pt-3"> 
934                                <a href="${persona.url}" class="card-title text-paragraph-regular-medium-semi mb-1 primary-color-b3"> 
935                                    ${persona.nome} 
936                                </a> 
937                                <div class="card-text"> 
938 
939                                    <#if persona.incarichi?? && persona.incarichi?has_content> 
940                                    <p class="fw-semibold mb-2"> 
941                                        <#list persona.incarichi as incarico> 
942                                            <div class="fw-semibold text-primary">${incarico}</div> 
943                                        </#list> 
944                                    </p> 
945                                    </#if> 
946 
947                                    <#if persona.biografia?has_content> 
948                                    <p class="fw-semibold mb-2"> 
949                                        ${persona.biografia} 
950                                    </p> 
951                                    </#if> 
952                                </div> 
953                            </div> 
954                            <#if persona.immagine?has_content> 
955                            <a href="${persona.url}" class="d-none d-lg-block col-lg-3 p-0"> 
956                                <img 
957                                    class="w-100" 
958                                    style="object-fit: cover; object-position: center; max-height: 120px;" 
959                                    alt="${persona.immagine.alt!""}" 
960                                    src="${persona.immagine.url}" 
961                                /> 
962                            </a> 
963                            </#if> 
964                        </div> 
965                    </div> 
966                    </#items> 
967                </div> 
968            </section> 
969            </#list> 
970 
971            <#if has_media> 
972            <section class="it-page-section mb-30" id="galleries"> 
973                <h2 class="title-xxlarge mb-3"><@liferay.language key="images-and-videos" /></h2> 
974                <#list immagini_galleria> 
975                    <div class="it-carousel-wrapper it-carousel-landscape-abstract-three-cols splide splide--slide splide--ltr splide--draggable is-active is-initialized mb-4" data-bs-carousel-splide="" id="splide01"> 
976                        <div class="it-header-block"> 
977                            <div class="it-header-block-title"> 
978                                <h3 style="border: none;"><@liferay.language key="images" /></h3> 
979                            </div> 
980                        </div> 
981                        <div class="splide__track" id="splide01-track" style="padding-left: 0px; padding-right: 0px;"> 
982                            <ul class="splide__list it-carousel-all" id="splide01-list" style="transform: translateX(0px);"> 
983                                <#items as img> 
984                                <li class="splide__slide is-active is-visible h-100" id="splide01-slide0${img?counter}" style="margin-right: 24px; width: calc(calc(100% / 3) - 16px);" tabindex="0" data-focus-mouse="false"> 
985                                    <div class="it-single-slide-wrapper"> 
986                                        <figure> 
987                                            <img src="${img.src}" alt="${img.alt}" class="img-fluid" style="width: 100%; aspect-ratio: 1/1; object-fit: cover; object-position: center;" loading="lazy"> 
988                                            <figcaption class="figure-caption mt-2"> 
989                                                ${img.alt} 
990                                            </figcaption> 
991                                        </figure> 
992                                    </div> 
993                                </li> 
994                                </#items> 
995                            </ul> 
996                        </div> 
997                    </div> 
998                </#list> 
999 
1000                <#if has_video_gallery> 
1001                    <h3><@liferay.language key="videos" /></h3> 
1002                    <div id="iframe-wrapper"> 
1003                        <#list GalleriaDiVideo.getSiblings() as cur_GalleriaDiVideo> 
1004                        <div class="iframe-element"> 
1005                            ${cur_GalleriaDiVideo.getData()} 
1006                        </div> 
1007                        </#list> 
1008                    </div> 
1009                    </#if> 
1010                </section> 
1011                </#if> 
1012 
1013                <#if AChieRivolto.getData()?has_content> 
1014                    <section class="it-page-section mb-30" id="who"> 
1015                        <h2 class="title-xxlarge mb-3"><@liferay.language key="aimed-at" /></h2> 
1016                        <div class="richtext-wrapper lora"> 
1017                            ${AChieRivolto.getData()} 
1018                        </div> 
1019                    </section> 
1020                </#if> 
1021 
1022                <#if has_luogo> 
1023                    <section class="it-page-section mb-30" id="place"> 
1024                        <h2 class="title-xxlarge mb-3"><@liferay.language key="place" /></h2> 
1025                        <div class=""> 
1026                            <div class="card card-teaser card-teaser-info rounded shadow-sm p-4"> 
1027                                <div class="card-body pe-3"> 
1028                                    <h5 class="card-title mb-2"> 
1029                                        <a class="text-decoration-none" href="${url_luogo}"> 
1030                                            ${nome_luogo} 
1031                                        </a> 
1032                                    </h5> 
1033                                    <div class="card-text"> 
1034                                        <#if indirizzo_luogo !=""> 
1035                                        <p class="mb-2"><@liferay.language key="address" />: ${indirizzo_luogo}</p> 
1036                                        </#if> 
1037                                        <#if orari_luogo !=""> 
1038                                            <p class="mb-2"><@liferay.language key="timetables" />: ${orari_luogo}</p> 
1039                                        </#if> 
1040                                    </div> 
1041                                </div> 
1042                                <#if has_immagine_luogo> 
1043                                <div class="avatar size-xl"> 
1044                                    <img 
1045                                        alt="${immagine_luogo.alt!nome_luogo}" 
1046                                        src="${immagine_luogo.url}" 
1047                                        style="aspect-ratio: 1;" 
1048                                    /> 
1049                                </div> 
1050                                </#if> 
1051                            </div> 
1052                        </div> 
1053                    </section> 
1054                </#if> 
1055 
1056                <#if Costo.getData()?has_content> 
1057                    <section class="it-page-section mb-30" id="costs"> 
1058                        <h2 class="title-xxlarge mb-3"><@liferay.language key="costs" /></h2> 
1059                        <div class="richtext-wrapper lora"> 
1060                            ${Costo.getData()} 
1061                        </div> 
1062                    </section> 
1063                </#if> 
1064 
1065                <#list allegati> 
1066                    <section class="it-page-section mb-30" id="attachments"> 
1067                        <h2 class="title-xxlarge mb-3"><@liferay.language key="attachments" /></h2> 
1068                        <div class="col-12 ps-0"> 
1069                            <ul class="col-12 shadow rounded my-4 p-3 bg-white"> 
1070                                <#items as allegato> 
1071                                <li group="attachments" class="d-flex align-items-center"> 
1072                                    <div class="row d-flex align-items-center w-100 ${allegato?has_next?string(" mb-2", "")}"> 
1073                                        <div class="col-1 d-flex justify-content-center align-items-center p-0"> 
1074                                            <svg class="icon icon-primary icon-lh" aria-hidden="true" viewBox="0 0 24 24"> 
1075                                                <path d="M12,14.2L7.7,9.9l0.7-0.7l3.1,3.1V3h1v9.2l3.1-3l0.7,0.7L12,14.2z M19,12v7.5c0,0.3-0.2,0.5-0.5,0.5h-13 C5.2,20,5,19.8,5,19.5V12H4v7.5C4,20.3,4.7,21,5.5,21h13c0.8,0,1.5-0.7,1.5-1.5V12H19z" /> 
1076                                            </svg> 
1077                                        </div> 
1078                                        <div class="col-11 p-0"> 
1079                                            <a class="text-decoration_none fw-semibold t-primary" href="${allegato.url}"> 
1080                                                ${allegato.nome} 
1081                                            </a> 
1082                                        </div> 
1083                                    </div> 
1084                                </li> 
1085                                </#items> 
1086                            </ul> 
1087                        </div> 
1088                    </section> 
1089                </#list> 
1090 
1091                <#list appuntamenti> 
1092                <section class="it-page-section mb-30" id="appointments"> 
1093                    <h2 class="title-xxlarge mb-3"><@liferay.language key="meetups" /></h2> 
1094                    <div class="row"> 
1095                        <#items as app> 
1096                        <div class="col-12 col-md-6"> 
1097                            <div class="card-wrapper border border-light rounded shadow-sm cmp-list-card-img cmp-list-card-img-hr"> 
1098                                <div class="card no-after rounded"> 
1099                                    <div class="row g-2 g-md-0 flex-md-column"> 
1100                                        <#if app.immagine?has_content && app.immagine.url?has_content> 
1101                                        <div class="col-4 order-2 order-md-1" style="position-relative"> 
1102                                            <div class="card-calendar d-flex flex-column justify-content-center"> 
1103                                                <span class="card-date">${app.giorno}</span> 
1104                                                <span class="card-day">${app.mese}</span> 
1105                                            </div> 
1106                                            <img 
1107                                                class="rounded-top img-fluid img-responsive" 
1108                                                src="${app.immagine.url}" 
1109                                                title="${app.nome}" 
1110                                                alt="${app.nome}" 
1111                                            /> 
1112                                        </div> 
1113                                        </#if> 
1114 
1115                                        <div class="col-8 order-1 order-md-2"> 
1116                                            <div class="card-body pb-0"> 
1117                                                <div class="category-top cmp-list-card-img__body"> 
1118                                                    <div> 
1119                                                        <#list app.tipi> 
1120                                                        <span class="category"> 
1121                                                            <#items as tipo> 
1122                                                            <div class="badge bg-primary">${tipo}</div> 
1123                                                            </#items> 
1124                                                        </span> 
1125                                                        </#list> 
1126                                                        <span class="data">${app.data_inizio}</span> 
1127                                                    </div> 
1128                                                </div> 
1129                                                <a href="${app.url}" class="text-decoration-none"> 
1130                                                    <h3 class="h5 card-title">${app.nome}</h3> 
1131                                                </a> 
1132                                                <p class="card-text d-none d-md-block lora">${app.descrizione}</p> 
1133                                            </div> 
1134                                        </div> 
1135                                    </div> 
1136                                </div> 
1137                            </div> 
1138                        </div> 
1139                        </#items> 
1140                    </div> 
1141                </section> 
1142                </#list> 
1143 
1144                <#list contatti_wallet> 
1145                <section class="it-page-section mb-30 pt-4" id="contacts"> 
1146                    <h2 class="title-xxlarge mb-3"><@liferay.language key="contacts" /></h2> 
1147                    <div class="row"> 
1148                        <div class="col-12 col-lg-6 shadow rounded p-3"> 
1149                            <#items as contatto> 
1150                            <div> 
1151                                <#assign url_type="" /> 
1152                                <#if 
1153                                    contatto.tipo=="Email" 
1154                                    || contatto.tipo=="PEC" 
1155
1156                                    <#assign url_type="mailto:" /> 
1157                                <#elseif 
1158                                    contatto.tipo=="Telefono" 
1159                                    || contatto.tipo=="Whatsapp" 
1160                                    || contatto.tipo=="Telegram" 
1161
1162                                    <#assign url_type="tel:" /> 
1163                                </#if> 
1164                                <span class="fw-semibold">${contatto.tipo}:</span> 
1165                                <span class="ms-1"> 
1166                                    <a 
1167                                        href="${url_type}${contatto.valore}" 
1168                                        target="_blank" 
1169                                        class="t-primary" 
1170
1171                                        ${contatto.valore} 
1172                                    </a> 
1173                                </span> 
1174                            </div> 
1175                            </#items> 
1176                        </div> 
1177                    </div> 
1178                </section> 
1179                </#list> 
1180 
1181                <#if has_UO> 
1182                <section class="it-page-section mb-30" id="office"> 
1183                    <h2 class="mb-3"><@liferay.language key="organized-by" /></h2> 
1184                    <div class="row"> 
1185                        <div class="col-12 col-lg-6"> 
1186                            <div class="card-wrapper rounded h-auto mt-10"> 
1187                                <div class="card card-teaser card-teaser-info rounded shadow-sm p-3"> 
1188                                    <div class="card-body pe-3"> 
1189                                        <div class="mb-3"> 
1190                                            <a class="card-title text-paragraph-regular-medium-semi primary-color-b3" href="/portal/-/${url_UO}"> 
1191                                                ${nome_UO} 
1192                                            </a> 
1193                                            <#if indirizzo_UO?has_content> 
1194                                            <small class="d-block"> 
1195                                                ${indirizzo_UO} 
1196                                            </small> 
1197                                            </#if> 
1198                                        </div> 
1199                                        <div class="card-text"> 
1200                                            <#list contatti_UO> 
1201                                            <div class="col-12 rounded p-0"> 
1202                                                <#items as contatto> 
1203                                                <div> 
1204                                                    <#assign url_type="" /> 
1205                                                    <#if 
1206                                                        contatto.tipo=="Email" 
1207                                                        || contatto.tipo=="PEC" 
1208
1209                                                        <#assign url_type="mailto:" /> 
1210                                                    <#elseif 
1211                                                        contatto.tipo=="Telefono" 
1212                                                        || contatto.tipo=="Whatsapp" 
1213                                                        || contatto.tipo=="Telegram" 
1214
1215                                                        <#assign url_type="tel:" /> 
1216                                                    </#if> 
1217                                                    <span class="fw-semibold"> 
1218                                                        ${contatto.tipo}:</span> 
1219                                                    <span class="ms-1"> 
1220                                                        <a 
1221                                                            href="${url_type}${contatto.valore}" 
1222                                                            target="_blank" 
1223                                                            class="t-primary" 
1224
1225                                                            ${contatto.valore} 
1226                                                        </a> 
1227                                                    </span> 
1228                                                </div> 
1229                                                </#items> 
1230                                            </div> 
1231                                            </#list> 
1232                                        </div> 
1233                                    </div> 
1234                                    <#if urlImmagine_UO !=""> 
1235                                    <div class="avatar size-xl"> 
1236                                        <a href="/portal/-/${url_UO}"> 
1237                                            <img 
1238                                                alt="Immagine unità organizzativa responsabile" 
1239                                                src="${urlImmagine_UO}" 
1240                                                style="aspect-ratio: 1/1;" 
1241                                            /> 
1242                                        </a> 
1243                                    </div> 
1244                                    </#if> 
1245                                </div> 
1246                            </div> 
1247                        </div> 
1248                    </div> 
1249                </section> 
1250                </#if> 
1251 
1252                <#if PatrocinatoDa.getData()?? && PatrocinatoDa.getData()?has_content> 
1253                <section class="it-page-section mb-30" id="patrocinato"> 
1254                    <h2 class="title-xxlarge mb-3"><@liferay.language key="sponsored-by" /></h2> 
1255                    <div class="richtext-wrapper lora" > 
1256                        ${PatrocinatoDa.getData()} 
1257                    </div> 
1258                </section> 
1259                </#if> 
1260 
1261                <#if Sponsor.getData()?has_content> 
1262                <section class="it-page-section mb-30" id="sponsor"> 
1263                    <h2 class="title-xxlarge mb-3"><@liferay.language key="sponsors" /></h2> 
1264                    <div class="richtext-wrapper lora"> 
1265                        ${Sponsor.getData()} 
1266                    </div> 
1267                </section> 
1268                </#if> 
1269 
1270                <#if UlterioriInformazioni.getData()?has_content> 
1271                <section class="it-page-section mb-30" id="more-info"> 
1272                    <h2 class="title-xxlarge mb-3"><@liferay.language key="more-info" /></h2> 
1273                    <div class="richtext-wrapper lora"> 
1274                        ${UlterioriInformazioni.getData()} 
1275                    </div> 
1276                </section> 
1277                </#if> 
1278 
1279                <div class="border-top border-light pt-4 mt-2 mb-30"> 
1280                    <#-- DATA ULTIMA MODIFICA --> 
1281                    <#assign 
1282                        modifiedDate=.vars['reserved-article-modified-date'].getData()?split(", ")[1]?split(" +")[0] 
1283                        displayModifiedDate=modifiedDate?datetime("dd MMM yyyy hh:mm:ss") 
1284                    /> 
1285                    <p class="text-paragraph-small mb-0 lora"> 
1286                        <span class="fw-semibold"><@liferay.language key="last-update-date" />: </span> 
1287                        <span> 
1288                            ${displayModifiedDate?string["dd/MM/yyyy, HH:mm"]} 
1289                        </span> 
1290                    </p> 
1291                </div> 
1292            </div> 
1293        </div> 
1294    </div> 
1295</div> 
1296 
1297<script defer> 
1298document.querySelectorAll(".mail-anchor").forEach(anchor => anchor.href = "mailto:&subject=${Titolo.getData()}&body=" + window.location.href) 
1299 
1300function shareOn(type) { 
1301    let articleUrl = window.location.href; 
1302    const mapping = { 
1303        "facebook": "https://facebook.com/sharer/sharer.php?u=" + articleUrl, 
1304        "twitter": "https://twitter.com/intent/tweet/?text=" + articleUrl, 
1305        "linkedin": "http://www.linkedin.com/sharing/share-offsite/?url=" + articleUrl, 
1306        "whatsapp": "whatsapp://send?text=" + articleUrl 
1307
1308 
1309    window.open(mapping[type], "_blank"); 
1310    return 
1311
1312</script> 
1313 
1314<style> 
1315#iframe-wrapper { 
1316    display: grid; 
1317    gap: 0.125rem; 
1318    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); 
1319
1320 
1321#iframe-wrapper .iframe-element iframe { 
1322    width: 100%; 
1323
1324 
1325a.chip.chip-simple span.chip-label { 
1326    translate: 0 -25%; 
1327
1328</style>