An error occurred while processing the template.
The following has evaluated to null or missing:
==> dict_productsLabel  [in template "20101#20128#38470" at line 60, 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_productsLabel}  [in template "20101#20128#38470" at line 60, column 39]
	- Reached through: #assign categoryClass = "${dict_produ...  [in template "20101#20128#38470" at line 60, 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>