
Patrimonio culturale
Dettagli dell'argomento
Servizi comunali, documenti, uffici, notizie ed eventi relativi a Patrimonio culturale
Questo argomento è gestito da:
Novità

Comunicato (stampa)
17/01/2025
Grazie ad una una telecamera fissa tutti potranno vedere la nidificazione dei falchi in Piazza Federico II
Una nuova telecamera di ultima generazione riprenderà 24 ore su 24 la nidificazione dei falchi pellegrini che stazionano in Piazza Federico II

Comunicato (stampa)
16/11/2024
Restauro di San Marco, primo sopralluogo tecnico
Primo sopralluogo alla chiesa di San Marco dell'équipe di ingegneri, architetti, con tanto di restauratore e geologo, a cui è stato affidato l'incarico del progetto di restauro e risanamento conservativo dell'edificio
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing: ==> immagineprincipale.getTitolo() [in template "20096#20121#93414" at line 93, column 168] ---- 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: @adaptive_media_image.img fileVersion... [in template "20096#20121#93414" at line 93, column 105] ----
1<#assign error = false />
2<#assign errorMessage = "" />
3
4<#assign structureService = serviceLocator.findService("it.inera.structure.service.StructureService")>
5<#assign jac = serviceLocator.findService("it.inera.journalarticleconverter.service.JournalArticleConverter")>
6<#assign dlFileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
7<#assign dlAppLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService")>
8<#assign eventoStructureId = structureService.getStructureEventoId()>
9<#assign tipiEventoVocabularyId = structureService.getVocabularyTipieventoId()>
10
11<#if entries?has_content>
12 <#list entries as curEntry>
13 <#assign assetRenderer = curEntry.getAssetRenderer()/>
14 <#if validator.isNotNull(assetRenderer)>
15 <#assign className = assetRenderer.getClassName() />
16 <#if className == "com.liferay.journal.model.JournalArticle">
17 <#assign ja = assetRenderer.getArticle() />
18 <#assign structureId = ja.getDDMStructureId() />
19 <#if structureId != eventoStructureId>
20 <#assign error = true />
21 <#assign errorMessage = "Il template gestisce solo Web Content di tipo Evento" />
22 </#if>
23 <#else>
24 <#assign error = true />
25 <#assign errorMessage = "Il template gestisce solo asset di tipo Web Content" />
26 </#if>
27 <#else>
28 <#assign error = true />
29 <#assign errorMessage = "Errore generico" />
30 </#if>
31 </#list>
32<#else>
33 <#assign error = true />
34 <#assign errorMessage = "Nessun contenuto selezionato" />
35</#if>
36
37<#if !error>
38 <#assign categoryConfig = "" >
39 <#if portletPreferences?has_content>
40 <#assign categoriesConfig = portletPreferences['queryValues0'] >
41 <#if categoriesConfig?has_content>
42 <#assign categoryConfig = "/-/category_eventi/" + categoriesConfig[0] >
43 </#if>
44 </#if>
45
46 <section id="eventi">
47 <div class="py-3">
48 <div class="container">
49 <div class="row row-title">
50 <div class="col-12">
51 <h2 class="text-secondary border-bottom pb-2 pb-lg-3 mt-lg-5"><@liferay.language key="argomento.seceventi.eventi" /></h2>
52 </div>
53 </div>
54 <div class="row pt-4 mt-lg-2 pb-lg-4">
55
56 <#list entries as curEntry>
57 <#assign assetRenderer = curEntry.getAssetRenderer()/>
58 <#assign ja = assetRenderer.getArticle() />
59 <#assign structureId = ja.getDDMStructureId() />
60 <#assign evento = jac.getEvento(ja) />
61 <#assign vocabularies = evento.getCategories() />
62
63 <#assign urlTitle = evento.getUrlTitle() />
64 <#assign titolo = evento.getTitolo() />
65 <#assign inizioDate = evento.getDataorainizio() />
66 <#assign fineDate = evento.getDataorafine() />
67 <#assign sottotitolo = "" />
68 <#if evento.getSottotitolo()??>
69 <#assign sottotitolo = evento.getSottotitolo() />
70 </#if>
71 <#assign immagineprincipale = evento.getImmagineprincipale() >
72
73 <#if vocabularies?? && vocabularies?has_content >
74 <#list vocabularies as vocabularyId, categories>
75 <#if categories?? && categories?has_content && vocabularyId == tipiEventoVocabularyId >
76 <#list categories as category>
77 <#assign tipoEvento = category.getTitle(locale) >
78 <#assign paginaCategoriaEvento = "/eventi/-/category_eventi/" + category.getCategoryId() >
79 </#list>
80 </#if>
81 </#list>
82 </#if>
83
84 <div class="col-12 col-md-6 col-lg-4">
85 <div class="card-wrapper">
86 <div class="card card-img no-after rounded border <#if immagineprincipale?? && immagineprincipale.getImmagine()?? && immagineprincipale.getImmagine().getUrl()?? && immagineprincipale.getImmagine().getUrl()?has_content>sm-row</#if>">
87 <#if immagineprincipale?? && immagineprincipale.getImmagine()?? && immagineprincipale.getImmagine().getUrl()?? && immagineprincipale.getImmagine().getUrl()?has_content>
88 <div class="img-responsive-wrapper">
89 <div class="img-responsive img-responsive-panoramic">
90 <#assign fileEntryImg = dlFileEntryService.getDLFileEntry(immagineprincipale.getImmagine().getFileEntryId()?number) />
91 <#assign fileVersionImg = dlAppLocalService.getFileVersion(fileEntryImg.getFileVersion().getFileVersionId()) />
92 <figure class="img-wrapper">
93 <@adaptive_media_image.img fileVersion=fileVersionImg title="${immagineprincipale.getTitolo()}" alt="${immagineprincipale.getImmagine().getAlt()}" />
94 </figure>
95 <#if inizioDate?? && inizioDate?has_content>
96 <div class="card-calendar d-flex flex-column justify-content-center">
97 <span class="card-date">${inizioDate?string["dd"]}</span>
98 <span class="card-day">${inizioDate?string["MMM"]}</span>
99 </div>
100 </#if>
101 </div>
102 </div>
103 </#if>
104
105 <div class="card-body p-4">
106 <div class="category-top">
107 <a title="${tipoEvento}" class="text-decoration-none fw-semibold" href="${paginaCategoriaEvento}" data-element="news-category-link" >${tipoEvento}</a>
108 <span class="data text-secondary"><#if inizioDate?? && inizioDate?has_content>${inizioDate?string["dd/MM/yyyy HH:mm"]}</#if><#if fineDate?? && fineDate?has_content> - ${fineDate?string["dd/MM/yyyy HH:mm"]}</#if></span>
109 </div>
110 <h3 class="mb-0">
111 <a href="/-/${urlTitle}" class="text-decoration-none" data-element="news-link">
112 ${titolo}
113 </a>
114 </h3>
115 <p class="pt-3 text-secondary">${sottotitolo}</p>
116 </div>
117 </div>
118 </div>
119 </div>
120 </#list>
121
122 </div>
123
124 <div class="row">
125 <div class="col-12 col-lg-3 offset-lg-9">
126 <a href="/eventi${categoryConfig}" class="btn btn-primary text-button w-100" title="<@liferay.language key="argomento.seceventi.tutti" />"><@liferay.language key="argomento.seceventi.tutti" /></a>
127 </div>
128 </div>
129
130 </div>
131 </div>
132 </section>
133</#if>