Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing: ==> dict_newsLabel [in template "20101#20128#41701" at line 15, column 37] ---- Tip: If the failing expression is known to be 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: ${dict_newsLabel} [in template "20101#20128#41701" at line 15, column 35] ----
1<#if themeDisplay.getLanguageId() == "en_US">
2 <#assign dict_newsLabel = "News">
3 <#assign dict_pressLabel = "Press Area">
4 <#assign dict_eventsLabel = "Events">
5<#elseif themeDisplay.getLanguageId() == "it_IT">
6 <#assign dict_newsLabel = "News">
7 <#assign dict_pressLabel = "Press Area">
8 <#assign dict_eventsLabel = "Eventi">
9</#if>
10
11<#-- PAGE TITLE -->
12<div class="container-fluid page-title">
13 <div class="title-container">
14 <#if TipoNews.getData() == "news">
15 <div class="subtitle">${dict_newsLabel}</div>
16 <#elseif TipoNews.getData() == "pressArea">
17 <div class="subtitle">${dict_pressLabel}</div>
18 <#elseif TipoNews.getData() == "eventi">
19 <div class="subtitle">${dict_eventsLabel}</div>
20 </#if>
21 <div class="title"><p>${Titolo.getData()}</p></div>
22 </div>
23 <div class="background-image"></div>
24</div>
25
26<#-- BREADCRUMBS -->
27<div class="page-breadcrumbs container">
28 <nav>
29 <ol class="breadcrumb">
30 <li class="breadcrumb-item" style="display: none !important;">
31 <#if TipoNews.getData() == "news">
32 <a class="breadcrumb-link" href="/news">
33 <span class="breadcrumb-text-truncate">${dict_newsLabel}</span>
34 </a>
35 <#elseif TipoNews.getData() == "pressArea">
36 <a class="breadcrumb-link" href="/press-area">
37 <span class="breadcrumb-text-truncate">${dict_pressLabel}</span>
38 </a>
39 <#elseif TipoNews.getData() == "eventi">
40 <a class="breadcrumb-link" href="/eventi">
41 <span class="breadcrumb-text-truncate">${dict_eventsLabel}</span>
42 </a>
43 </#if>
44 </li>
45 <li class="breadcrumb-item">
46 <span class="active breadcrumb-text-truncate">${Titolo.getData()}</span>
47 </li>
48 </ol>
49 </nav>
50</div>
51
52<#-- NEWS DETAILS -->
53<div class="news-detail-container container" animatron="show" animatron-preset="revealDown" animatrion-gap="0">
54 <div class="news-column-1 container">
55 <div class="news-detail">
56 <div class="title-container">
57 <h1 class="title">
58 ${Titolo.getData()}
59 </h1>
60 <#assign date_Data = getterUtil.getString(Data.getData())>
61 <#if validator.isNotNull(date_Data)>
62 <#assign date_DateObj = dateUtil.parseDate("yyyy-MM-dd", date_Data, locale)>
63 <span class="date">${dateUtil.getDate(date_DateObj, "dd.MM.yyyy", locale)}</span>
64 <#-- Per "18 nov 2020" mettere "dd MMM yyyy" -->
65 </#if>
66 </div>
67 <div class="text">${Testo.getData()}</div>
68 </div>
69
70 <#if CallToAction?? && CallToAction.getSiblings()?has_content >
71 <#list CallToAction.getSiblings() as singleCta >
72 <#if singleCta.Link.getData() == "internal">
73 <#assign pageUrl = singleCta.LinkPaginaInterna.getData()>
74 <#else>
75 <#assign pageUrl = singleCta.URLPaginaEsterna.getData()>
76 </#if>
77
78 <#if singleCta.Allineamento.getData() == "right">
79 <#assign alignment = "flex-end">
80 <#else>
81 <#assign alignment = "flex-start">
82 </#if>
83
84 <#if pageUrl != "">
85 <div class="cta-container">
86 <a class="cta-button" href="${pageUrl}" target="${singleCta.Apertura.getData()}" style="align-self: ${alignment}">
87 <span class="label">${singleCta.TestoCTA.getData()}</span>
88 <div class="button adc-icn-arrow-tail"></div>
89 </a>
90 </div>
91 </#if>
92 </#list>
93 </#if>
94
95 <#if Allegati?? && Allegati.getSiblings()?has_content >
96 <div class="news-attachments">
97 <#assign dlFileEntry = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
98
99 <#assign attachmentCheck = false >
100 <#list Allegati.getSiblings() as singleAttachment >
101 <#if singleAttachment.getData() != "">
102 <#assign attachmentCheck = true >
103 </#if>
104 </#list>
105
106 <#if Allegati?? && attachmentCheck>
107 <div class="attachment-container" animatron="show" animatron-preset="revealUp" animatron-gap="0">
108 <#list Allegati.getSiblings() as attachment>
109 <#list attachment.getData()?split("/") as x>
110 <#if x?counter ==3>
111 <#assign groupId = x?number>
112 </#if>
113 <#if x?counter ==6>
114 <#assign uuId = x?keep_before("?")>
115 </#if>
116 </#list>
117
118 <#if (uuId??) && (groupId??)>
119 <#assign file = dlFileEntry.getFileEntryByUuidAndGroupId(uuId,groupId) >
120 <#assign fileSizeBig = file.getSize() / 1000000 >
121 <#list fileSizeBig?split(".") as x >
122 <#if x?index == 0>
123 <#assign fileSize1 = x + '.' >
124 <#else>
125 <#assign fileSize2 = x?substring(0, 2)>
126 </#if>
127 </#list>
128 <#assign fileSize = fileSize1 + fileSize2 >
129 <#assign originalFileFormat = file.getExtension() >
130
131 <#switch originalFileFormat>
132 <#case "pptx">
133 <#case "ppt">
134 <#assign fileFormat = 'ppt'>
135 <#break>
136 <#case "doc">
137 <#case "docx">
138 <#case "txt">
139 <#case "rtf">
140 <#assign fileFormat = 'doc'>
141 <#break>
142 <#case "xlsx">
143 <#case "xls">
144 <#assign fileFormat = 'xls'>
145 <#break>
146 <#case "pptx">
147 <#case "ppt">
148 <#assign fileFormat = 'ppt'>
149 <#break>
150 <#case "jpg">
151 <#case "jpeg">
152 <#case "tif">
153 <#case "tiff">
154 <#case "png">
155 <#case "gif">
156 <#case "bmp">
157 <#assign fileFormat = 'img'>
158 <#break>
159 <#case "mp4">
160 <#case "mpg">
161 <#case "mpeg">
162 <#case "mov">
163 <#case "ogg">
164 <#case "ogv">
165 <#assign fileFormat = 'video'>
166 <#break>
167 <#case "mp3">
168 <#case "aac">
169 <#case "wav">
170 <#case "aif">
171 <#assign fileFormat = 'audio'>
172 <#break>
173 <#case "pdf">
174 <#assign fileFormat = 'pdf'>
175 <#break>
176 <#case "zip">
177 <#case "rar">
178 <#case "gzip">
179 <#case "7zip">
180 <#assign fileFormat = 'zip'>
181 <#break>
182 <#default>
183 <#assign fileFormat = 'code'>
184 </#switch>
185
186 <#if fileFormat == 'pptx'>
187 <#assign fileFormat = 'ppt'>
188 </#if>
189
190 <#if fileFormat == 'docx'>
191 <#assign fileFormat = 'doc'>
192 </#if>
193 </#if>
194 <a class="single-attachment" href="${attachment.getData()}">
195 <#if fileFormat?has_content>
196 <div class="file-icon icn-${fileFormat}"></div>
197 </#if>
198 <#if attachment.AllegatiTitolo?has_content>
199 <div class="name">${attachment.AllegatiTitolo.getData()}</div>
200 </#if>
201 <#if originalFileFormat?has_content>
202 <div class="format">${originalFileFormat}</div>
203 </#if>
204 <#if fileSize?has_content>
205 <div class="size">${fileSize} Mb</div>
206 </#if>
207 </a>
208 </#list>
209 </div>
210 </#if>
211 </div>
212 </#if>
213 </div>
214
215 <div class="news-column-2">
216 <#assign nextRandom = .now?string["HHmmssSSS"]>
217
218 <#-- <#if 400 <= 350>-->
219 <#-- <#assign reduceWidthClass = "little">-->
220 <#-- <#else>-->
221 <#-- <#assign reduceWidthClass = "">-->
222 <#-- </#if>-->
223 <#-- ${reduceWidthClass}-->
224
225 <div id="gallery-${nextRandom}" class="container gallery-container carousel slide" data-ride="carousel" style="max-height: 400px" data-interval="3000" animatron="show" animatron-preset="revealDown" adc-value="${nextRandom}">
226 <div class="carousel-inner">
227 <#list SlideGallery.getSiblings() as slide >
228 <#if slide?index == 0>
229 <#assign activeClass = "active">
230 <#else>
231 <#assign activeClass = "">
232 </#if>
233 <div class="carousel-item ${activeClass}" adc-value="${slide?index}">
234 <#if slide.TipoDiContenuto.getData() == "image" >
235 <img class="gallery-image" src="${slide.Immagine.getData()}" alt="${Titolo.getData()}" />
236 <#elseif slide.TipoDiContenuto.getData() == "videoYoutube" >
237 <div class="video-thumb-container">
238<#-- <iframe src="https://www.youtube.com/embed/${slide.IDVideoYoutube.getData()}?autoplay=0&color=white&rel=0&modestbranding=1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>-->
239 <img class="gallery-image video-thumb" adc-video-service="youtube" src="https://img.youtube.com/vi/${slide.IDVideoYoutube.getData()}/0.jpg" />
240 <div class="video-logo"></div>
241 </div>
242 <#elseif slide.TipoDiContenuto.getData() == "videoVimeo" >
243 <div class="video-thumb-container">
244<#-- <iframe src="https://player.vimeo.com/video/${slide.IDVideoVimeo.getData()}?autoplay=0" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>-->
245 <img class="gallery-image video-thumb" adc-video-service="vimeo" src="https://vumbnail.com/${slide.IDVideoVimeo.getData()}.jpg" />
246 <div class="video-logo"></div>
247 </div>
248 </#if>
249 </div>
250 </#list>
251 </div>
252
253 <#if SlideGallery.getSiblings()?size != 1>
254 <ol class="carousel-indicators">
255 <#list SlideGallery.getSiblings() as slide >
256 <#if slide?index == 0>
257 <#assign activeClass = "active">
258 <#else>
259 <#assign activeClass = "">
260 </#if>
261 <li data-target="#gallery-${nextRandom}" data-slide-to="${slide?index}" class="${activeClass}"></li>
262 </#list>
263 </ol>
264 </#if>
265 </div>
266
267 <div id="zoom-gallery-${nextRandom}" class="container-fluid gallery-zoom-container carousel slide" data-ride="carousel" data-interval="false">
268 <div class="carousel-inner">
269 <#list SlideGallery.getSiblings() as slide >
270 <#if slide?index == 0>
271 <#assign activeClass = "active">
272 <#else>
273 <#assign activeClass = "">
274 </#if>
275 <div class="carousel-item ${activeClass}" adc-value="${slide?index}">
276 <#if slide.TipoDiContenuto.getData() == "image" >
277 <div class="image-block">
278 <div class="image-container">
279 <img src="${slide.Immagine.getData()}" />
280 </div>
281 </div>
282 <#elseif slide.TipoDiContenuto.getData() == "videoYoutube" >
283 <iframe src="https://www.youtube-nocookie.com/embed/${slide.IDVideoYoutube.getData()}?showinfo=0&rel=0&iv_load_policy=3&fs=0&color=white&disablekb=1&modestbranding=1" frameborder="0"></iframe>
284 <#elseif slide.TipoDiContenuto.getData() == "videoVimeo" >
285 <iframe title="vimeo-player" src="https://player.vimeo.com/video/${slide.IDVideoVimeo.getData()}" frameborder="0"></iframe>
286 </#if>
287 </div>
288 </#list>
289 </div>
290
291 <#if SlideGallery.getSiblings()?size != 1>
292 <ol class="carousel-indicators">
293 <#list SlideGallery.getSiblings() as slide >
294 <#if slide?index == 0>
295 <#assign activeClass = "active">
296 <#else>
297 <#assign activeClass = "">
298 </#if>
299 <li data-target="#zoom-gallery-${nextRandom}" data-slide-to="${slide?index}" class="${activeClass}"></li>
300 </#list>
301 </ol>
302 </#if>
303 <div class="btn-close adc-icn-close"></div>
304 </div>
305 </div>
306</div>