Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> Sedi[0]  [in template "20095#20121#34615" at line 144, 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: Sede = Sedi[0]  [in template "20095#20121#34615" at line 144, column 17]
----
1<#assign 
2    FriendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService") 
3    ClassNameService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameService") 
4    JournalArticleLocalService=serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
5    LayoutLocalService=serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") 
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    categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) 
11    AssetVocabularyLocalServiceUtil=staticUtil["com.liferay.asset.kernel.service.AssetVocabularyLocalServiceUtil"] 
12/> 
13 
14<#setting locale=localeUtil.getDefault() /> 
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 TASSONOMIE --> 
72<#assign 
73    argomenti=[] 
74    tipiDocumento=[] 
75    tipoAlbo="" 
76    lifeEvents=[] 
77    businessEvents=[] 
78    licenza="" 
79/> 
80<#list categoryList as categoryEntry> 
81 
82    <#assign 
83        vocabulary = AssetVocabularyLocalServiceUtil.getVocabulary(categoryEntry.getVocabularyId()) 
84        className = ClassNameService.fetchClassName("com.liferay.asset.kernel.model.AssetCategory") 
85        friendlyUrlEntry = FriendlyURLEntryLocalService.getMainFriendlyURLEntry(className.getClassNameId(), categoryEntry.categoryId) 
86        friendlyUrlList = FriendlyURLEntryLocalService.getFriendlyURLEntryLocalizations(friendlyUrlEntry.friendlyURLEntryId) 
87        cat_name = categoryEntry.name 
88        cat_localized_name = categoryEntry.getTitle(themeDisplay.getLocale(), true), 
89        cat_url = friendlyUrlList[0].urlTitle 
90    /> 
91    <#if vocabulary.name=="tassonomia licenze" || vocabulary.description=="licenze"> 
92        <#assign licenza=cat_name /> 
93    <#elseif vocabulary.name=="tassonomia tipi di documento" || vocabulary.description=="tipi di documento"> 
94        <#assign tipiDocumento +=[ cat_localized_name ] /> 
95    <#elseif vocabulary.name=="life events" || vocabulary.description=="eventi della vita delle persone"> 
96        <#assign lifeEvents +=[ cat_localized_name ] /> 
97    <#elseif vocabulary.name=="tassonomia business events" || vocabulary.description=="eventi della vita delle imprese"> 
98        <#assign businessEvents +=[ cat_localized_name ] /> 
99    <#elseif vocabulary.name=="tassonomia documenti albo pretorio" || vocabulary.description=="documenti albo pretorio"> 
100        <#assign tipoAlbo=cat_name /> 
101    <#elseif vocabulary.name=="tassonomia argomento" || vocabulary.description=="argomenti"> 
102        <#assign 
103            argomenti += 
104            [{ 
105                "name": cat_localized_name, 
106                "url": cat_url 
107            }] 
108        /> 
109    </#if> 
110</#list> 
111 
112<#-- GET UO RESPONSBAILE --> 
113<#if jsonFactoryUtil.createJSONObject(UfficioResponsabileDocumento.getData())?has_content> 
114    <#assign UO_data=jsonFactoryUtil.createJSONObject(UfficioResponsabileDocumento.getData()) /> 
115<#else> 
116    <#assign UO_data="" /> 
117</#if> 
118 
119<#if UO_data !=""> 
120    <#assign 
121        UfficiResponsabili=JournalArticleLocalService.getArticlesByResourcePrimKey(UO_data.classPK?number) 
122        UfficioResponsabile=UfficiResponsabili[0] 
123        document=saxReaderUtil.read(UfficioResponsabile.getContent()) 
124        rootElement=document.getRootElement() 
125        nome_UO="" 
126        indirizzo_UO="" 
127        immagine_UO="" 
128        urlImmagine_UO="" 
129    /> 
130    <#list rootElement.elements() as dynamicElement> 
131        <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
132            <#assign nome_UO=dynamicElement.element("dynamic-content").getText() /> 
133        <#elseif dynamicElement.attributeValue("field-reference")=="Indirizzo"> 
134            <#assign indirizzo_UO=dynamicElement.element("dynamic-content").getText() /> 
135        <#elseif dynamicElement.attributeValue("field-reference")=="Immagine"> 
136            <#assign immagine_UO=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) /> 
137            <#if immagine_UO.uuid?has_content> 
138                <#assign urlImmagine_UO="/portal/c/document_library/get_file?uuid=" + immagine_UO.uuid + "&amp;groupId=" + immagine_UO.groupId /> 
139            </#if> 
140        <#elseif dynamicElement.attributeValue("field-reference")=="SedePrincipale"> 
141            <#assign 
142                sede_data=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) 
143                Sedi=JournalArticleLocalService.getArticlesByResourcePrimKey(sede_data.classPK?number) 
144                Sede=Sedi[0] 
145                document=saxReaderUtil.read(Sede.getContent()) 
146                rootElement=document.getRootElement() 
147            /> 
148            <#list rootElement.elements() as dynamicElement> 
149                <#if dynamicElement.attributeValue("field-reference")=="Indirizzo"> 
150                    <#assign indirizzo_UO=dynamicElement.element("dynamic-content").getText() /> 
151                </#if> 
152            </#list> 
153        </#if> 
154    </#list> 
155</#if> 
156 
157<#-- GET AUTORI --> 
158<#assign autori=[] /> 
159<#if Autori.getData()?has_content> 
160    <#list Autori.getSiblings() as cur_autore> 
161        <#assign 
162            cur_autore_data=jsonFactoryUtil.createJSONObject(cur_autore.getData()) 
163            relatedAutori=JournalArticleLocalService.getArticlesByResourcePrimKey(cur_autore_data.classPK?number) 
164            relatedAutore=relatedAutori[0] 
165            document=saxReaderUtil.read(relatedAutore.getContent()) 
166            rootElement=document.getRootElement() 
167            nome_autore="" 
168            cognome_autore="" 
169            immagine_autore="" 
170            urlImmagine_autore="" 
171            incarico_autore="" 
172        /> 
173        <#list rootElement.elements() as dynamicElement> 
174            <#if dynamicElement.attributeValue("field-reference")=="Nome"> 
175                <#assign nome_autore=dynamicElement.element("dynamic-content").getText() /> 
176            <#elseif dynamicElement.attributeValue("field-reference")=="Cognome"> 
177                <#assign cognome_autore=dynamicElement.element("dynamic-content").getText() /> 
178            <#elseif dynamicElement.attributeValue("field-reference")=="Immagine"> 
179                <#assign immagine_autore=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) /> 
180                <#if immagine_autore.uuid?has_content> 
181                    <#assign urlImmagine_autore="/portal/c/document_library/get_file?uuid=" + immagine_autore.uuid + "&amp;groupId=" + immagine_autore.groupId /> 
182                </#if> 
183            <#elseif dynamicElement.attributeValue("field-reference")=="Incarichi"> 
184                <#assign 
185                    incarichi_autore=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) 
186                /> 
187                <#if incarichi_autore?eval?has_content> 
188                    <#assign 
189                        relatedIncarichiAutore=JournalArticleLocalService.getArticlesByResourcePrimKey(incarichi_autore.classPK?number) 
190                        relatedIncaricoAutore=relatedIncarichiAutore[0] 
191                        document=saxReaderUtil.read(relatedIncaricoAutore.getContent()) 
192                        rootElement=document.getRootElement() 
193                    /> 
194                    <#list rootElement.elements() as dynamicElement> 
195                        <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
196                            <#assign incarico_autore=dynamicElement.element("dynamic-content").getText() /> 
197                        </#if> 
198                    </#list> 
199                </#if> 
200            </#if> 
201        </#list> 
202        <#assign 
203            autori += 
204            [{ 
205                "nome": nome_autore, 
206                "cognome": cognome_autore, 
207                "urlImmagine": urlImmagine_autore, 
208                "immagine": immagine_autore, 
209                "incarico": incarico_autore, 
210                "urlPagina": "/portal-/${relatedAutore.getUrlTitle()}" 
211            }] 
212        /> 
213    </#list> 
214</#if> 
215 
216<#-- GET SERVIZI COLLEGATI --> 
217<#assign servizi_collegati=[] /> 
218<#if Servizi.getData()?has_content> 
219    <#list Servizi.getSiblings() as cur_servizio> 
220        <#assign 
221            cur_servizio_data=jsonFactoryUtil.createJSONObject(cur_servizio.getData()) 
222            categorie_cur_servizio=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle", cur_servizio_data.classPK?number) 
223            relatedServizi=JournalArticleLocalService.getArticlesByResourcePrimKey(cur_servizio_data.classPK?number) 
224            relatedServizio=relatedServizi[0] 
225            document=saxReaderUtil.read(relatedServizio.getContent()) 
226            rootElement=document.getRootElement() 
227            nome_servizio="" 
228            descrizione_servizio="" 
229            categorie_servizio=[] 
230        /> 
231        <#list rootElement.elements() as dynamicElement> 
232            <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
233                <#assign nome_servizio=dynamicElement.element("dynamic-content").getText() /> 
234                <#elseif dynamicElement.attributeValue("field-reference")=="DescrizioneBreve"> 
235                    <#assign descrizione_servizio=dynamicElement.element("dynamic-content").getText() /> 
236            </#if> 
237        </#list> 
238        <#list categorie_cur_servizio as cur_categoria_cur_servizio> 
239            <#assign cur_vocabulary=AssetVocabularyLocalServiceUtil.getVocabulary(cur_categoria_cur_servizio.getVocabularyId()) /> 
240            <#if cur_vocabulary.getTitle()?lower_case=="tassonomia categoria servizi" || cur_vocabulary.getName()?lower_case=="tassonomia categoria servizi" || cur_vocabulary.getDescription()?lower_case=="categorie servizi"> 
241                <#assign categorie_servizio +=[cur_categoria_cur_servizio] /> 
242            </#if> 
243        </#list> 
244        <#assign 
245            servizi_collegati += 
246            [{ 
247                "nome": nome_servizio, 
248                "descrizione" 
249                : descrizione_servizio, 
250                "categorie": categorie_servizio 
251            }] 
252        /> 
253    </#list> 
254</#if> 
255 
256<#-- GET DATE --> 
257<#assign 
258    data_inizio="" 
259    data_fine="" 
260    data_protocollo="" 
261    DataInizio_Data=getterUtil.getString(DataInizio.getData()) 
262    DataFine_Data=getterUtil.getString(DataFine.getData()) 
263    DataProtocollo_Data=getterUtil.getString(DataProtocollo.getData()) 
264/> 
265<#if validator.isNotNull(DataInizio_Data)> 
266    <#assign 
267        DataInizio_DateObj=dateUtil.parseDate("yyyy-MM-dd", DataInizio_Data, locale) 
268        data_inizio=dateUtil.getDate(DataInizio_DateObj, "dd MMMM yyyy" , locale) 
269    /> 
270</#if> 
271<#if validator.isNotNull(DataFine_Data)> 
272    <#assign 
273        DataFine_DateObj=dateUtil.parseDate("yyyy-MM-dd", DataFine_Data, locale) 
274        data_fine=dateUtil.getDate(DataFine_DateObj, "dd MMMM yyyy" , locale) 
275    /> 
276</#if> 
277<#if validator.isNotNull(DataProtocollo_Data)> 
278    <#assign 
279        DataProtocollo_DateObj=dateUtil.parseDate("yyyy-MM-dd", DataProtocollo_Data, locale) 
280        data_protocollo=dateUtil.getDate(DataProtocollo_DateObj, "dd MMMM yyyy" , locale) 
281    /> 
282</#if> 
283 
284<#-- SEZIONE GET ALLEGATI --> 
285<#assign documenti_collegati=[] /> 
286<#if DocumentiCollegati.getData()?has_content> 
287    <#if DocumentiCollegati.getSiblings()?has_content> 
288        <#list DocumentiCollegati.getSiblings() as cur_allegato> 
289            <#assign 
290                cur_allegato_data=jsonFactoryUtil.createJSONObject(cur_allegato.getData()) 
291                relatedAllegati=JournalArticleLocalService.getArticlesByResourcePrimKey(cur_allegato_data.classPK?number) 
292                relatedAllegato=relatedAllegati[0] 
293                document=saxReaderUtil.read(relatedAllegato.getContent()) 
294                rootElement=document.getRootElement() 
295                nome_allegato="" 
296                url_allegato="/portal/-/${relatedAllegato.getUrlTitle()}" 
297            /> 
298            <#list rootElement.elements() as dynamicElement> 
299                <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
300                    <#assign nome_allegato=dynamicElement.element("dynamic-content").getText() /> 
301                </#if> 
302            </#list> 
303            <#assign 
304                documenti_collegati += 
305                [{ 
306                    "nome": nome_allegato, 
307                    "url": url_allegato 
308                }] 
309            /> 
310        </#list> 
311    </#if> 
312</#if> 
313<#if Dataset.getData()?has_content> 
314    <#if Dataset.getSiblings()?has_content> 
315        <#list Dataset.getSiblings() as cur_allegato> 
316            <#assign 
317                cur_allegato_data=jsonFactoryUtil.createJSONObject(cur_allegato.getData()) 
318                relatedAllegati=JournalArticleLocalService.getArticlesByResourcePrimKey(cur_allegato_data.classPK?number) 
319                relatedAllegato=relatedAllegati[0] 
320                document=saxReaderUtil.read(relatedAllegato.getContent()) 
321                rootElement=document.getRootElement() 
322                nome_allegato="" 
323                url_allegato="/portal/-/${relatedAllegato.getUrlTitle()}" 
324            /> 
325            <#list rootElement.elements() as dynamicElement> 
326                <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
327                    <#assign nome_allegato=dynamicElement.element("dynamic-content").getText() /> 
328                </#if> 
329            </#list> 
330            <#assign 
331                documenti_collegati += 
332                [{ 
333                    "nome": nome_allegato, 
334                    "url": url_allegato 
335                }] 
336            /> 
337        </#list> 
338    </#if> 
339</#if> 
340<#assign 
341    immagini_galleria = [] 
342/> 
343 
344<#-- GET PHOTOGALLERY --> 
345<#if GalleriaImmagini.getData()?has_content> 
346    <#list GalleriaImmagini.getSiblings() as cur_GalleriaImmagini> 
347        <#if cur_GalleriaImmagini.getData()?? && cur_GalleriaImmagini.getData() !=""> 
348            <#assign 
349                immagini_galleria += 
350                [{ 
351                    "alt": cur_GalleriaImmagini.getAttribute("alt")!"", 
352                    "fileentryid": cur_GalleriaImmagini.getAttribute("fileEntryId"), 
353                    "src": cur_GalleriaImmagini.getData() 
354                }] 
355            /> 
356        </#if> 
357    </#list> 
358</#if> 
359 
360<div class="container"> 
361    <div class="row justify-content-center"> 
362        <div class="col-12 col-lg-10"> 
363            <div class="cmp-heading pb-3 pb-lg-4"> 
364                <div class="row"> 
365                    <div class="col-lg-8"> 
366                        <h1 class="title-xxxlarge" data-element="service-title"> 
367                            ${Titolo.getData()} 
368                        </h1> 
369                        <#if Protocollo.getData()?has_content> 
370                        <p class="primary-color-b5 mb-3 fs-4 fw-bold"> 
371                            ${Protocollo.getData()}${data_protocollo?has_content?string(", ${data_protocollo}", "")} 
372                        </p> 
373                        </#if> 
374                        <p class="subtitle-small mb-3"> 
375                            ${DescrizioneBreve.getData()} 
376                        </p> 
377                    </div> 
378 
379                    <div class="col-lg-3 offset-lg-1 mt-5 mt-lg-0"> 
380                        <div class="dropdown" id="fallback-share"> 
381                            <button 
382                                aria-label="condividi sui social" 
383                                class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-6 text-primary" 
384                                type="button" 
385                                id="shareActions" 
386                                data-bs-toggle="dropdown" 
387                                aria-haspopup="true" 
388                                aria-expanded="false" 
389
390                                <svg class="icon icon-primary" aria-hidden="true"> 
391                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-share"></use> 
392                                </svg> 
393                                <small><@liferay.language key="share" /></small> 
394                            </button> 
395                            <div class="dropdown-menu shadow-lg" aria-labelledby="shareActions"> 
396                                <div class="link-list-wrapper"> 
397                                    <ul class="link-list" role="menu"> 
398                                        <li role="none"> 
399                                            <button class="list-item text-primary px-3 fs-6" role="menuitem" onclick="shareOn('facebook')"> 
400                                                <svg class="icon icon-primary" aria-hidden="true"> 
401                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-facebook"></use> 
402                                                </svg> 
403                                                <span>Facebook</span> 
404                                            </button> 
405                                        </li> 
406                                        <li role="none"> 
407                                            <button class="list-item text-primary px-3 fs-6" role="menuitem" onclick="shareOn('twitter')"> 
408                                                <svg class="icon icon-primary" aria-hidden="true"> 
409                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-twitter"></use> 
410                                                </svg> 
411                                                <span><@liferay.language key="Twitter" /></span> 
412                                            </button> 
413                                        </li> 
414                                        <li role="none"> 
415                                            <button class="list-item text-primary px-3 fs-6" role="menuitem" onclick="shareOn('whatsapp')"> 
416                                                <svg class="icon icon-primary" aria-hidden="true"> 
417                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-whatsapp"></use> 
418                                                </svg> 
419                                                <span>Whatsapp</span> 
420                                            </button> 
421                                        </li> 
422                                    </ul> 
423                                </div> 
424                            </div> 
425                        </div> 
426 
427                        <div class="dropdown"> 
428                            <button 
429                                aria-label="vedi azioni da compiere sulla pagina" 
430                                class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-0" 
431                                type="button" 
432                                id="viewActions" 
433                                data-bs-toggle="dropdown" 
434                                aria-haspopup="true" 
435                                aria-expanded="false" 
436
437                                <svg class="icon icon-primary" aria-hidden="true"> 
438                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-more-items"></use> 
439                                </svg> 
440                                <small><@liferay.language key="actions" /></small> 
441                            </button> 
442                            <div class="dropdown-menu shadow-lg" aria-labelledby="viewActions"> 
443                                <div class="link-list-wrapper"> 
444                                    <ul class="link-list" role="menu"> 
445                                        <li role="none"> 
446                                            <button class="list-item px-3 fs-6 text-primary" onclick="window.print()" role="menuitem"> 
447                                                <svg class="icon icon-primary" aria-hidden="true"> 
448                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-print"></use> 
449                                                </svg> 
450                                                <span><@liferay.language key="print" /></span> 
451                                            </button> 
452                                        </li> 
453                                        <li role="none"> 
454                                            <a class="list-item mail-anchor px-3 fs-6" href="mailto:" role="menuitem"> 
455                                                <svg class="icon icon-primary" aria-hidden="true"> 
456                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-mail"></use> 
457                                                </svg> 
458                                                <span><@liferay.language key="send" /></span> 
459                                            </a> 
460                                        </li> 
461                                    </ul> 
462                                </div> 
463                            </div> 
464                        </div> 
465                        <#list argomenti> 
466                        <div class=" mt-4 mb-3"> 
467                            <span class="text-paragraph-small fw-semibold"><@liferay.language key="topics" />:</span> 
468                            <ul class="d-flex flex-wrap gap-2 mt-10 mb-3"> 
469 
470                                <#items as argomento> 
471                                <li> 
472                                    <a href="${argomento.url}" class="chip chip-simple"> 
473                                        <span class="chip-label"> 
474                                            ${argomento.name} 
475                                        </span> 
476                                    </a> 
477                                </li> 
478                                </#items> 
479 
480                            </ul> 
481                        </div> 
482                        </#list> 
483                        <#list tipiDocumento> 
484                        <div class="mb-3"> 
485                            <span class="text-paragraph-small fw-semibold"><@liferay.language key="document-type" />:</span> 
486                            <ul class="d-flex flex-wrap gap-2 mt-10 mb-3"> 
487 
488                                <#items as tipo> 
489                                <li> 
490                                    <span class="badge bg-primary">${tipo}</span> 
491                                </li> 
492                                </#items> 
493 
494                            </ul> 
495                        </div> 
496                        </#list> 
497                    </div> 
498                </div> 
499                <div class="row mt-5 mb-4"> 
500 
501                    <#if (IdentificativoDelDocumento.getData())??> 
502                    <div class="col col-lg-4"> 
503                        <small><@liferay.language key="identifier" />:</small> 
504                        <p class="fw-semibold font-monospace">${IdentificativoDelDocumento.getData()}</p> 
505                    </div> 
506                    </#if> 
507 
508                    <#if data_inizio !=""> 
509                    <div class="col col-lg-4"> 
510                        <small><@liferay.language key="start-date" />:</small> 
511                        <p class="fw-semibold font-monospace">${data_inizio}</p> 
512                    </div> 
513                    </#if> 
514 
515                    <#if data_fine !=""> 
516                    <div class="col col-lg-4"> 
517                        <small><@liferay.language key="end-date" />:</small> 
518                        <p class="fw-semibold font-monospace">${data_fine}</p> 
519                    </div> 
520                    </#if> 
521 
522                </div> 
523            </div> 
524        </div> 
525    </div> 
526</div> 
527 
528<#if Immagine.getData()?? && Immagine.getData() !=""> 
529    <#assign immagineHero_alt=Immagine.getAttribute("alt")!"" /> 
530    <div class="container-fluid my-3"> 
531        <div class="row"> 
532            <figure class="figure px-0 img-full"> 
533                <img class="figure-img img-fluid" alt="${immagineHero_alt!}" data-fileentryid="${Immagine.getAttribute('fileEntryId')}" src="${Immagine.getData()}" /> 
534                <#if immagineHero_alt !=""> 
535                <figcaption class="figure-caption text-center pt-3"> 
536                    ${immagineHero_alt} 
537                </figcaption> 
538                </#if> 
539            </figure> 
540        </div> 
541    </div> 
542</#if> 
543 
544<div class="container"> 
545    <div class="row border-top border-light row-column-menu-left pb-4 pb-lg-80"> 
546        <div class="col-12 col-lg-3 mb-4 border-col"> 
547            <div class="cmp-navscroll sticky-top" aria-labelledby="accordion-title-one"> 
548                <nav class="navbar it-navscroll-wrapper navbar-expand-lg" aria-label="${languageUtil.get(locale, 'page-index')}" data-bs-navscroll=""> 
549                    <div class="navbar-custom" id="navbarNavProgress"> 
550                        <div class="menu-wrapper"> 
551                            <div class="link-list-wrapper"> 
552                                <div class="accordion"> 
553                                    <div class="accordion-item"> 
554                                        <span class="accordion-header" id="accordion-title-one"> 
555                                            <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"> 
556                                                <@liferay.language key="page-index" /> 
557                                                <svg class="icon icon-xs right" viewBox="0 0 24 24"> 
558                                                    <path d="M11.6 15.4L6 9.8l.7-.8 4.9 4.9L16.5 9l.7.8z"></path> 
559                                                </svg> 
560                                            </button> 
561                                        </span> 
562                                        <div class="progress"> 
563                                            <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> 
564                                        </div> 
565                                        <div id="collapse-one" class="accordion-collapse collapse show" role="region" aria-labelledby="accordion-title-one"> 
566                                            <div class="accordion-body"> 
567                                                <ul class="link-list" data-element="page-index"> 
568 
569                                                    <#if DescrizioneEstesa.getData()?has_content> 
570                                                    <li class="nav-item"> 
571                                                        <a class="nav-link" href="#description"> 
572                                                            <span class="title-medium"><@liferay.language key="description" /></span> 
573                                                        </a> 
574                                                    </li> 
575                                                    </#if> 
576 
577                                                    <li class="nav-item"> 
578                                                        <a class="nav-link" href="#document"> 
579                                                            <span class="title-medium"><@liferay.language key="document" /></span> 
580                                                        </a> 
581                                                    </li> 
582 
583                                                    <li class="nav-item"> 
584                                                        <a class="nav-link" href="#image-gallery"> 
585                                                            <span class="title-medium"><@liferay.language key="image-gallery" /></span> 
586                                                        </a> 
587                                                    </li> 
588 
589                                                    <li class="nav-item"> 
590                                                        <a class="nav-link" href="#office"> 
591                                                            <span class="title-medium"><@liferay.language key="organization-unit" /></span> 
592                                                        </a> 
593                                                    </li> 
594 
595                                                    <#if Autori.getData()?has_content> 
596                                                    <li class="nav-item"> 
597                                                        <a class="nav-link" href="#authors"> 
598                                                            <span class="title-medium"><@liferay.language key="author" /></span> 
599                                                        </a> 
600                                                    </li> 
601                                                    </#if> 
602 
603                                                    <li class="nav-item"> 
604                                                        <a class="nav-link" href="#formats"> 
605                                                            <span class="title-medium"><@liferay.language key="available-formats" /></span> 
606                                                        </a> 
607                                                    </li> 
608 
609                                                    <#if licenza !=""> 
610                                                    <li class="nav-item"> 
611                                                        <a class="nav-link" href="#license"> 
612                                                            <span class="title-medium"><@liferay.language key="distribution-license" /></span> 
613                                                        </a> 
614                                                    </li> 
615                                                    </#if> 
616 
617                                                    <#if servizi_collegati?has_content> 
618                                                    <li class="nav-item"> 
619                                                        <a class="nav-link" href="#related-services"> 
620                                                            <span class="title-medium"><@liferay.language key="related-services" /></span> 
621                                                        </a> 
622                                                    </li> 
623                                                    </#if> 
624 
625                                                    <#if documenti_collegati?has_content> 
626                                                    <li class="nav-item"> 
627                                                        <a class="nav-link" href="#related-documents"> 
628                                                            <span class="title-medium"><@liferay.language key="related-documents" /></span> 
629                                                        </a> 
630                                                    </li> 
631                                                    </#if> 
632 
633                                                    <#if (RiferimentiNormativi.getData())??> 
634                                                    <li class="nav-item"> 
635                                                        <a class="nav-link" href="#law-requirements"> 
636                                                            <span class="title-medium"><@liferay.language key="normative-requirements" /></span> 
637                                                        </a> 
638                                                    </li> 
639                                                    </#if> 
640 
641                                                    <#if (UlterioriInformazioni.getData())??> 
642                                                    <li class="nav-item"> 
643                                                        <a class="nav-link" href="#more-info"> 
644                                                            <span class="title-medium"><@liferay.language key="additional-information" /></span> 
645                                                        </a> 
646                                                    </li> 
647                                                    </#if> 
648 
649                                                </ul> 
650                                            </div> 
651                                        </div> 
652                                    </div> 
653                                </div> 
654                            </div> 
655                        </div> 
656                    </div> 
657                </nav> 
658            </div> 
659        </div> 
660        <div class="col-12 col-lg-8 offset-lg-1"> 
661            <div class="it-page-sections-container"> 
662 
663                <#if DescrizioneEstesa.getData()?has_content> 
664                <section class="it-page-section mb-30 pt-4" id="description"> 
665                    <h2 class="title-xxlarge mb-3"><@liferay.language key="description" /></h2> 
666                    <div class="richtext-wrapper lora"> 
667                        <p> 
668                            ${DescrizioneEstesa.getData()} 
669                        </p> 
670                    </div> 
671                </section> 
672                </#if> 
673 
674                <section class="it-page-section mb-30 has-bg-grey p-4" id="document"> 
675                    <h2 class="title-xxlarge mb-3"><@liferay.language key="document" /></h2> 
676                    <div class="d-flex align-items-center p-3 shadow rounded bg-white"> 
677                        <svg class="icon icon-primary icon-lh me-2" aria-hidden="true" viewBox="0 0 24 24"> 
678                            <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-13C5.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" /> 
679                        </svg> 
680                        <a class="text-decoration_none fw-semibold t-primary" href="${URLDocumento.getData()}" target="_blank" rel="noopener noreferrer"> 
681                            ${Titolo.getData()} 
682                        </a> 
683                    </div> 
684                </section> 
685 
686                <#list immagini_galleria> 
687                <section class="it-page-section mb-30" id="image-gallery"> 
688                    <h2 class="title-xxlarge mb-3"><@liferay.language key="image-gallery" /></h2> 
689                    <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"> 
690                        <div class="splide__track" id="splide01-track" style="padding-left: 0px; padding-right: 0px;"> 
691                            <ul class="splide__list it-carousel-all py-4" id="splide01-list" style="transform: translateX(0px);"> 
692                                <#items as img> 
693                                <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"> 
694                                    <div class="it-single-slide-wrapper"> 
695                                        <figure> 
696                                            <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"> 
697                                            <figcaption class="figure-caption mt-2"> 
698                                                ${img.alt} 
699                                            </figcaption> 
700                                        </figure> 
701                                    </div> 
702                                </li> 
703                                </#items> 
704                            </ul> 
705                        </div> 
706                    </div> 
707                </section> 
708                </#list> 
709 
710                <section class="it-page-section mb-30 pt-4" id="office"> 
711                    <h2 class="title-xxlarge mb-3"><@liferay.language key="chief-office" /></h2> 
712                    <div class="card card-teaser card-teaser-info shadow-sm rounded d-flex align-items-center p-3 p-lg-4"> 
713                        <div class="card-body"> 
714                            <h4 class="mb-1 title-small-semi-bold-medium"> 
715                                <a href="/portal/web/guest/-/${UfficioResponsabile.getUrlTitle()}" class="card-title text-paragraph-regular-medium-semi mb-3 primary-color-b3"> 
716                                    ${nome_UO} 
717                                </a> 
718                            </h4> 
719                            <div class="card-text"> 
720                                <p class="u-main-black"> 
721                                    ${indirizzo_UO} 
722                                </p> 
723                            </div> 
724                        </div> 
725                        <#if urlImmagine_UO?has_content> 
726                        <a href="${urlImmagine_UO}"> 
727                            <div class="avatar size-xl"> 
728                                <img src="${urlImmagine_UO}" alt="${immagine_UO.description!'Immagine unità organizzativa'}"> 
729                            </div> 
730                        </a> 
731                        </#if> 
732                    </div> 
733                </section> 
734 
735                <#list autori> 
736                <section class="it-page-section mb-30 pt-4" id="authors"> 
737                    <h2 class="title-xxlarge mb-3"><@liferay.language key="author" /></h2> 
738                    <#items as persona> 
739                    <div class="col-12 col-lg-6 p-0 pe-3 mb-3"> 
740                        <div class="d-flex pe-0 shadow-sm rounded" style="height: 120px;"> 
741                            <div class="col-12 col-lg-9 pt-3"> 
742                                <a href="${persona.urlPagina}" class="card-title text-paragraph-regular-medium-semi mb-1 primary-color-b3"> 
743                                    ${persona.nome} ${persona.cognome} 
744                                </a> 
745                                <#if persona.incarico?has_content> 
746                                <div class="card-text"> 
747                                    ${persona.incarico} 
748                                </div> 
749                                </#if> 
750                            </div> 
751                            <#if persona.urlImmagine !=""> 
752                            <a href="${persona.urlPagina}" class="d-none d-lg-block col-lg-3 p-0"> 
753                                <img 
754                                    class="w-100 h-100" 
755                                    style="object-fit: cover; object-position: center;" 
756                                    alt="${persona.immagine.alt!"Immagine componente staff dell'unità organizzativa"}" 
757                                    src="${persona.urlImmagine}" 
758                                /> 
759                            </a> 
760                            </#if> 
761                        </div> 
762                    </div> 
763                    </#items> 
764                </section> 
765                </#list> 
766 
767                <section class="it-page-section mb-30 pt-4" id="format"> 
768                    <h2 class="title-xxlarge mb-3"><@liferay.language key="available-formats" /></h2> 
769                    <div class="richtext-wrapper lora"> 
770                        ${FormatiDisponibili.getData()} 
771                    </div> 
772                </section> 
773 
774                <#if licenza !=""> 
775                <section class="it-page-section mb-30 pt-4" id="license"> 
776                    <h2 class="title-xxlarge mb-3"><@liferay.language key="distribution-license" /></h2> 
777                    <div class="richtext-wrapper lora"> 
778                        ${licenza} 
779                    </div> 
780                </section> 
781                </#if> 
782 
783                <#list servizi_collegati> 
784                <section class="it-page-section mb-30 pt-4" id="related-services"> 
785                    <h2 class="title-xxlarge mb-3"><@liferay.language key="related-services" /></h2> 
786                    <div class="row"> 
787                        <#items as servizio> 
788                        <div class="col-12 col-lg-6 p-0 pe-3 mb-3"> 
789                            <div class="p-3 shadow-sm rounded h-100"> 
790                                <div class="category-top fw-semibold t-primary text-uppercase" style="font-size: .8rem;"> 
791                                    <#list servizio.categorie as categoria> 
792                                    <div> 
793                                        <div class="category"> 
794                                            ${categoria.name} 
795                                        </div> 
796                                    </div> 
797                                    </#list> 
798                                </div> 
799                                <div class="col-12 col-lg-9 p-0 pt-3"> 
800                                    <p class="card-title text-paragraph-regular-medium-semi mb-1 primary-color-b3"> 
801                                        ${servizio.nome} 
802                                    </p> 
803                                    <div class="card-text"> 
804                                        ${servizio.descrizione} 
805                                    </div> 
806                                </div> 
807                            </div> 
808                        </div> 
809                        </#items> 
810                    </div> 
811                </section> 
812                </#list> 
813 
814                <#list documenti_collegati> 
815                <section class="it-page-section mb-30 pt-4" id="attachments"> 
816                    <h2 class="title-xxlarge mb-3"><@liferay.language key="related-documents" /></h2> 
817                    <div class="col-12 col-md-6 shadow p-3 mb-4 rounded"> 
818                        <#items as allegato> 
819                        <div class="d-flex align-items-center${allegato?has_next?string(' mb-3', '')}"> 
820                            <svg class="icon icon-primary icon-lh me-2" aria-hidden="true" viewBox="0 0 24 24"> 
821                                <path d="M21,3v6h-1V4.7l-7.6,7.7l-0.8-0.8L19.3,4H15V3H21z M17,19.5c0,0.3-0.2,0.5-0.5,0.5h-12C4.2,20,4,19.8,4,19.5v-12C4,7.2,4.2,7,4.5,7H12V6H4.5C3.7,6,3,6.7,3,7.5v12C3,20.3,3.7,21,4.5,21h12c0.8,0,1.5-0.7,1.5-1.5V12h-1V19.5z" /> 
822                            </svg> 
823                            <a class="text-decoration_none fw-semibold t-primary" href="${allegato.url}"> 
824                                ${allegato.nome} 
825                            </a> 
826                        </div> 
827                        </#items> 
828                    </div> 
829                </section> 
830                </#list> 
831 
832                <#if (RiferimentiNormativi.getData())??> 
833                <section class="it-page-section mb-30 pt-4" id="law-requirements"> 
834                    <h2 class="title-xxlarge mb-3"><@liferay.language key="normative-requirements" /></h2> 
835                    <div class="richtext-wrapper lora"> 
836                        <p> 
837                            ${RiferimentiNormativi.getData()} 
838                        </p> 
839                    </div> 
840                </section> 
841                </#if> 
842 
843                <#if (UlterioriInformazioni.getData())??> 
844                <section class="it-page-section mb-30 pt-4" id="more-info"> 
845                    <h2 class="title-xxlarge mb-3"><@liferay.language key="additional-information" /></h2> 
846                    <div class="richtext-wrapper lora"> 
847                        <p> 
848                            ${UlterioriInformazioni.getData()} 
849                        </p> 
850                    </div> 
851                </section> 
852                </#if> 
853 
854            </div> 
855            <#assign 
856                modifiedDate=.vars['reserved-article-modified-date'].getData()?split(", ")[1]?split(" +")[0] 
857                displayModifiedDate=modifiedDate?datetime("dd MMM yyyy hh:mm:ss") 
858            /> 
859            <p class="text-paragraph-small mb-0 lora"> 
860                <span class="fw-semibold"><@liferay.language key="last-update-date" />: </span> 
861                <span> 
862                    ${displayModifiedDate?string["dd/MM/yyyy, HH:mm"]} 
863                </span> 
864            </p> 
865        </div> 
866    </div> 
867</div> 
868 
869<style> 
870.chip.chip-simple .chip-label { 
871    translate: 0 -25%; 
872
873</style>