An error occurred while processing the template.
The following has evaluated to null or missing: ==> dict_corporateLabel [in template "20101#20128#38470" at line 57, column 41] ---- 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_corporateLabel} [in template "20101#20128#38470" at line 57, column 39] - Reached through: #assign categoryClass = "${dict_corpo... [in template "20101#20128#38470" at line 57, column 13] ----
1<!-- NEWS DETAIL -->
2<#if themeDisplay.getLanguageId() == "en_US">
3 <#assign dict_homeLabel = "Home">
4 <#assign dict_homeLink = "/home">
5 <#assign dict_eventsLabel = "Fairs & Events">
6 <#assign dict_eventsLink = "/fairs-and-events">
7 <#assign dict_productsLabel = "New Products">
8 <#assign dict_productsLink = "/new-products">
9 <#assign dict_corporateLabel = "Corporate">
10 <#assign dict_corporateLink = "/corporate">
11 <#assign dict_attachments = "Attachments">
12 <#assign dict_gallery = "Gallery">
13<#elseif themeDisplay.getLanguageId() == "it_IT">
14 <#assign dict_homeLabel = "Home">
15 <#assign dict_homeLink = "/home">
16 <#assign dict_eventsLabel = "Fiere & Eventi">
17 <#assign dict_eventsLink = "/fiere-e-eventi">
18 <#assign dict_productsLabel = "Novità Prodotto">
19 <#assign dict_productsLink = "/novita-prodotto">
20 <#assign dict_corporateLabel = "Corporate">
21 <#assign dict_corporateLink = "/corporate">
22 <#assign dict_attachments = "Allegati">
23 <#assign dict_gallery = "Gallery">
24<#elseif themeDisplay.getLanguageId() == "es_ES">
25 <#assign dict_homeLabel = "Home">
26 <#assign dict_homeLink = "/home">
27 <#assign dict_eventsLabel = "Ferias & Eventos">
28 <#assign dict_eventsLink = "/ferias-y-eventos">
29 <#assign dict_productsLabel = "Nuevos Productos">
30 <#assign dict_productsLink = "/nuevos-productos">
31 <#assign dict_corporateLabel = "Corporate">
32 <#assign dict_corporateLink = "/corporate">
33 <#assign dict_attachments = "Adjuntos">
34 <#assign dict_gallery = "Galería">
35</#if>
36
37<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
38
39<#-- Vocabolario News: -->
40<#assign newsTypeVocabularyId = 38602>
41<#assign newsEventsCategoryId = 38603>
42<#assign newsProductsCategoryId = 38604>
43<#assign newsCorporateCategoryId = 38605>
44
45<#assign journalArticleId = .vars['reserved-article-id'].data>
46<#assign journalArticleResourceLocalServiceUtil = staticUtil["com.liferay.journal.service.JournalArticleResourceLocalServiceUtil"]>
47<#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"]>
48<#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/>
49<#assign categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) >
50
51<#list categoryList as categoryList>
52 <#if categoryList.getVocabularyId() == newsTypeVocabularyId>
53 <#if categoryList.getCategoryId() == newsEventsCategoryId>
54 <#assign categoryClass = "${dict_eventsLabel}">
55 <#assign categoryClassLink = "${dict_eventsLink}">
56 <#elseif categoryList.getCategoryId() == newsCorporateCategoryId>
57 <#assign categoryClass = "${dict_corporateLabel}">
58 <#assign categoryClassLink = "${dict_corporateLink}">
59 <#elseif categoryList.getCategoryId() == newsProductsCategoryId>
60 <#assign categoryClass = "${dict_productsLabel}">
61 <#assign categoryClassLink = "${dict_productsLink}">
62 </#if>
63 </#if>
64</#list>
65
66<div class="container-fluid news-page-title" animatron="show" animatron-preset="appear-down" animatron-gap="0">
67 <h1 class="title">
68 ${Title.getData()}
69 </h1>
70</div>
71
72<div class="news-detail-breadcrumbs container">
73 <nav>
74 <ol>
75 <li class="news-detail-breadcrumb-item">
76 <a href="${dict_homeLink}">
77 ${dict_homeLabel}
78 </a>
79 </li>
80 <li class="news-detail-breadcrumb-item">
81 <a href="${categoryClassLink}">
82 ${categoryClass}
83 </a>
84 </li>
85 <li class="news-detail-breadcrumb-item">
86 ${Title.getData()}
87 </li>
88 </ol>
89 </nav>
90</div>
91
92<div class="news-detail-container container" animatron="show" animatron-preset="appear-down" animatrion-gap="0">
93 <div class="news-column-1 container">
94
95 <div class="news-detail">
96 <#assign date_Data = getterUtil.getString(Date.getData())>
97 <#if validator.isNotNull(date_Data)>
98 <#assign date_DateObj = dateUtil.parseDate("yyyy-MM-dd", date_Data, locale)>
99 <div class="date">${dateUtil.getDate(date_DateObj, "dd/MM/yyyy", locale)}</div>
100 <#-- Per "18 nov 2020" mettere "dd MMM yyyy" -->
101 </#if>
102 <h1 class="title">
103 ${Title.getData()}
104 </h1>
105 <div class="text">${Text.getData()}</div>
106 </div>
107
108 <div class="news-cta">
109 <#assign ctalabelCheck = false >
110 <#list CtaLabel.getSiblings() as singleCtalabel >
111 <#if singleCtalabel.getData() != "">
112 <#assign ctalabelCheck = true >
113 </#if>
114 </#list>
115
116 <#if CtaLabel?? && ctalabelCheck>
117 <#if CtaLabel.LinkType.getData() == "internal">
118 <#assign pageUrl = CtaLabel.InternalLink.getData()>
119 <#else>
120 <#assign pageUrl = CtaLabel.ExternalURL.getData()>
121 </#if>
122
123 <div class="cta-container container align-${CtaLabel.Alignment.getData()} color-${CtaLabel.Color.getData()}" animatron="show" animatron-preset="appear-down" animatron-gap="0">
124 <a class="cta-button" href="${pageUrl}" target="${CtaLabel.LinkBehaviour.getData()}">
125 <span class="btn-label">${CtaLabel.getData()}</span>
126 </a>
127 </div>
128 </#if>
129 </div>
130
131 <div class="news-attachments">
132 <#assign dlFileEntry = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
133
134 <#assign attachmentCheck = false >
135 <#list Attachments.getSiblings() as singleAttachment >
136 <#if singleAttachment.AttachmentName.getData() != "" && singleAttachment.getData() != "">
137 <#assign attachmentCheck = true >
138 </#if>
139 </#list>
140
141 <#if Attachments?? && attachmentCheck>
142 <div class="attachment-container" animatron="show" animatron-preset="appear-up" animatron-gap="0">
143 <#list Attachments.getSiblings() as attachment>
144 <#list attachment.getData()?split("/") as x>
145 <#if x?counter ==3>
146 <#assign groupId = x?number>
147 </#if>
148 <#if x?counter ==6>
149 <#assign uuId = x?keep_before("?")>
150 </#if>
151 </#list>
152
153 <#if (uuId??) && (groupId??)>
154 <#assign file = dlFileEntry.getFileEntryByUuidAndGroupId(uuId,groupId) >
155 <#assign fileSizeBig = file.getSize() / 1000000 >
156 <#list fileSizeBig?split(".") as x >
157 <#if x?index == 0>
158 <#assign fileSize1 = x + '.' >
159 <#else>
160 <#assign fileSize2 = x?substring(0, 2)>
161 </#if>
162 </#list>
163 <#assign fileSize = fileSize1 + fileSize2 >
164 <#assign originalFileFormat = file.getExtension() >
165
166 <#switch originalFileFormat>
167 <#case "pptx">
168 <#case "ppt">
169 <#assign fileFormat = 'ppt'>
170 <#break>
171 <#case "doc">
172 <#case "docx">
173 <#case "txt">
174 <#case "rtf">
175 <#assign fileFormat = 'doc'>
176 <#break>
177 <#case "xlsx">
178 <#case "xls">
179 <#assign fileFormat = 'xls'>
180 <#break>
181 <#case "pptx">
182 <#case "ppt">
183 <#assign fileFormat = 'ppt'>
184 <#break>
185 <#case "jpg">
186 <#case "jpeg">
187 <#case "tif">
188 <#case "tiff">
189 <#case "png">
190 <#case "gif">
191 <#case "bmp">
192 <#assign fileFormat = 'img'>
193 <#break>
194 <#case "mp4">
195 <#case "mpg">
196 <#case "mpeg">
197 <#case "mov">
198 <#case "ogg">
199 <#case "ogv">
200 <#assign fileFormat = 'video'>
201 <#break>
202 <#case "mp3">
203 <#case "aac">
204 <#case "wav">
205 <#case "aif">
206 <#assign fileFormat = 'audio'>
207 <#break>
208 <#case "pdf">
209 <#assign fileFormat = 'pdf'>
210 <#break>
211 <#case "zip">
212 <#case "rar">
213 <#case "gzip">
214 <#case "7zip">
215 <#assign fileFormat = 'zip'>
216 <#break>
217 <#default>
218 <#assign fileFormat = 'code'>
219 </#switch>
220
221 <#if fileFormat == 'pptx'>
222 <#assign fileFormat = 'ppt'>
223 </#if>
224
225 <#if fileFormat == 'docx'>
226 <#assign fileFormat = 'doc'>
227 </#if>
228 </#if>
229 <a class="single-attachment" href="${attachment.getData()}" download>
230 <#if fileFormat?has_content>
231 <div class="file-icon icn-${fileFormat}"></div>
232 </#if>
233 <#if attachment.AttachmentName?has_content>
234 <div class="name">${attachment.AttachmentName.getData()}</div>
235 </#if>
236 <#if originalFileFormat?has_content>
237 <div class="format">${originalFileFormat}</div>
238 </#if>
239 <#if fileSize?has_content>
240 <div class="size">${fileSize} Mb</div>
241 </#if>
242 </a>
243 </#list>
244 </div>
245 </#if>
246 </div>
247 </div>
248
249 <div class="news-column-2">
250 <#if GallerySlide?? && GallerySlide.getSiblings()?has_content >
251 <#assign nextRandom = .now?string["HHmmssSSS"]>
252 <div id="gallery-${nextRandom}" class="container gallery-container carousel slide" data-ride="carousel" style="max-height: 500px" data-interval="3000" animatron="show" animatron-preset="appear-down" adc-value="${nextRandom}">
253 <div class="carousel-inner">
254 <#list GallerySlide.getSiblings() as slide>
255 <#if slide?index == 0>
256 <#assign activeClass = "active">
257 <#else>
258 <#assign activeClass = "">
259 </#if>
260 <div class="carousel-item ${activeClass}" adc-value="${slide?index}">
261 <#if slide.SlideType.getData() == "image">
262 <img class="gallery-image" src="${slide.SlideImage.getData()}" />
263 <#else>
264 <img class="gallery-image" src="https://img.youtube.com/vi/${slide.YouTubeVideoID.getData()}/hqdefault.jpg" />
265 <div class="btn-play adc-icn-youtube"></div>
266 </#if>
267 </div>
268 </#list>
269 </div>
270 <ol class="carousel-indicators">
271 <#list GallerySlide.getSiblings() as slide>
272 <#if slide?index == 0>
273 <#assign activeClass = "active">
274 <#else>
275 <#assign activeClass = "">
276 </#if>
277 <li data-target="#gallery-${nextRandom}" data-slide-to="${slide?index}" class="${activeClass}"></li>
278 </#list>
279 </ol>
280 </div>
281 <div id="zoom-gallery-${nextRandom}" class="container-fluid gallery-zoom-container carousel slide" data-ride="carousel" data-interval="false">
282 <div class="carousel-inner">
283 <#list GallerySlide.getSiblings() as slide >
284 <#if slide?index == 0>
285 <#assign activeClass = "active">
286 <#else>
287 <#assign activeClass = "">
288 </#if>
289 <div class="carousel-item ${activeClass}" adc-value="${slide?index}">
290 <div class="image-block">
291 <div class="image-container">
292 <#if slide.SlideType.getData() = "image">
293 <img src="${slide.SlideImage.getData()}" />
294 <#else>
295 <iframe class="youtube-video" src="https://www.youtube.com/embed/${slide.YouTubeVideoID.getData()}?vq=hd1080&modestbranding=1&showinfo=0&rel=0&iv_load_policy=3&color=white&disablekb=1&enablejsapi=1" frameborder="0"></iframe>
296 </#if>
297 </div>
298 </div>
299 </div>
300 </#list>
301 </div>
302 <ol class="carousel-indicators">
303 <#list GallerySlide.getSiblings() as slide >
304 <#if slide?index == 0>
305 <#assign activeClass = "active">
306 <#else>
307 <#assign activeClass = "">
308 </#if>
309 <li data-target="#zoom-gallery-${nextRandom}" data-slide-to="${slide?index}" class="${activeClass}"></li>
310 </#list>
311 </ol>
312 <div class="btn-close adc-icn-close"></div>
313 </div>
314 </#if>
315
316 </div>
317</div>