Certificazione caldaia: quando farla, come, costi e rinnovo | Hera Comm
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing: ==> LinkBottoneBannerOBJ [in template "20099#20135#38317002" at line 149, column 23] ---- 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: layoutIDarticolo1 = LinkBottoneBanner... [in template "20099#20135#38317002" at line 149, column 5] ----
1<#assign displaydate = .vars['reserved-article-display-date'].data>
2 <#assign originalLocale = .locale>
3 <#setting locale = localeUtil.getDefault()>
4 <#assign displaydate = displaydate?datetime("EEE, d MMM yyyy HH:mm:ss Z")>
5 <#assign locale2 = originalLocale>
6
7 <section>
8 <div class="canva">
9 <#if ImmagineSfondo?? && ImmagineSfondo.getData()?? && ImmagineSfondo.getData() != "">
10 <div class="canvaContainer" style="background-image: url('${ImmagineSfondo.getData()}');">
11 <#else>
12 <div class="canvaContainer">
13 </#if>
14 <div class="canva__txtWrapper">
15 <#if LinkBreadcrumb?? && LinkBreadcrumb.getSiblings()?has_content>
16 <ul class="breadcrumbs">
17 <#list LinkBreadcrumb.getSiblings() as cur_LinkBreadcrumb>
18 <#assign
19 link = (cur_LinkBreadcrumb.getFriendlyUrl()??)?then(cur_LinkBreadcrumb.getFriendlyUrl(), "")
20 />
21 <#if link?has_content>
22 <li class="breadcrumbs__item">
23 <a class="breadcrumbs__itemLink" href="${link}">
24 ${cur_LinkBreadcrumb.LabelLink.getData()}
25 </a>
26 </li>
27 </#if>
28 </#list>
29 </ul>
30 </#if>
31
32 <#if ImmagineTesto?? && ImmagineTesto.getData()?? && ImmagineTesto.getData() != "">
33 <img alt="${ImmagineTesto.getAttribute('alt')}"
34 src="${ImmagineTesto.getData()}" class="canva__img"/>
35 </#if>
36 </div>
37 </div>
38 </section>
39 <section class="wrapper wrapper--small">
40 <div class="tagIcon">
41 <#if .vars['reserved-article-asset-tag-names']?? &&
42 .vars['reserved-article-asset-tag-names'].data?has_content >
43 <#list .vars['reserved-article-asset-tag-names'].data?split(",") as tagName>
44 <a href="/ricerca-tag-page/-/tag/${tagName}">
45 <button class="tagIcon__button">${tagName}</button>
46 </a>
47 </#list>
48 </#if>
49 <#if getterUtil.getBoolean(Condividi.getData())>
50 <span class="tagIcon__icon">${Condividi.TestoCondividi.getData()}</span>
51 </#if>
52 </div>
53 <div class="freeTextHtml">
54 <h1>${Titolo.getData()}</h1>
55 ${PrimaSezioneTesto.getData()}
56 <#if ImmaginePrincipale.getData()?? && ImmaginePrincipale.getData() != "">
57 <figure>
58 <img alt="${ImmaginePrincipale.getAttribute("alt")}"
59 src="${ImmaginePrincipale.getData()}" />
60 <#if ImmaginePrincipale.ImageCaption.getData()?? &&
61 ImmaginePrincipale.ImageCaption.getData()?has_content>
62 <figcaption>Via Pagina Facebook @SustainableKelseaYoga</figcaption>
63 </#if>
64 </figure>
65 </#if>
66 ${SecondaSezioneTesto.getData()}
67 <p>Articolo pubblicato il: ${displaydate?string["dd/MM/yyyy"]}</p>
68 </div>
69 </section>
70
71 <#assign jsonFasciaMagenta=jsonFactoryUtil.createJSONObject(FasciaMagenta.getData()) />
72 <#if jsonFasciaMagenta.classPK??>
73 <#assign classPK=jsonFasciaMagenta.classPK />
74 <#assign fasciaMagenta=heraContributorLocalService.getLatestArticle(classPK?number)
75 docXml=saxReaderUtil.read(fasciaMagenta.getContentByLocale(locale.toString()))
76 TitoloBanner=docXml.valueOf("//dynamic-element[@name='TitoloBanner' ]/dynamic-content/text()")
77 SottotitoloBanner=docXml.valueOf("//dynamic-element[@name='SottotitoloBanner' ]/dynamic-content/text()")
78 LabelBottoneBanner=docXml.valueOf("//dynamic-element[@name='LabelBottoneBanner' ]/dynamic-content/text()")
79 AttivaLinkEsterno=docXml.valueOf("//dynamic-element[@name='AttivaLinkEsterno' ]/dynamic-content/text()")
80 LinkBannerEsterno=docXml.valueOf("//dynamic-element[@name='LinkBannerEsterno' ]/dynamic-content/text()")
81 LinkBottoneBannerOBJ=docXml.valueOf("//dynamic-element[@name='LinkBottoneBanner' ]/dynamic-content/text()")
82
83
84 layoutIDBottoneBanner=LinkBottoneBannerOBJ?split("@")?first
85 layoutIDJsonObject = jsonFactoryUtil.createJSONObject(layoutIDBottoneBanner)
86 groupIDlinkBott=LinkBottoneBannerOBJ?split("@")?last
87 groupIDJsonObject = jsonFactoryUtil.createJSONObject(groupIDlinkBott)
88 pageLayoutBottoneBanner=heraContributorLocalService.getLayout(groupIDJsonObject.getLong("groupId"), false, layoutIDJsonObject.getLong('layoutId'))
89 LinkBottoneBanner=pageLayoutBottoneBanner.getFriendlyURL(local)
90 target=""
91 />
92
93
94
95
96
97 <section>
98 <div class="bannerLogo">
99 <div class="bannerLogo__wrapper">
100 <div class="bannerLogo__textWrapper">
101 <#if TitoloBanner??>
102 <h3 class="bannerLogo__title">${TitoloBanner}</h3>
103 </#if>
104 <#if SottotitoloBanner??>
105 <div class="bannerLogo__text">${SottotitoloBanner}</div>
106 </#if>
107 </div>
108 <#if LabelBottoneBanner?? && AttivaLinkEsterno?? && AttivaLinkEsterno=="">
109
110 <div class="bannerLogo__btnWrapper">
111 <a class="bannerLogo__button" href="${LinkBottoneBanner}">${LabelBottoneBanner}</a>
112 </div>
113 </#if>
114
115 <#if LabelBottoneBanner?? && AttivaLinkEsterno?? && AttivaLinkEsterno=="true">
116
117 <div class="bannerLogo__btnWrapper">
118 <a class="bannerLogo__button" href="${LinkBannerEsterno}">${LabelBottoneBanner}</a>
119 </div>
120
121 </#if>
122
123 </div>
124 </div>
125 </section>
126 </#if>
127
128 <#assign jsonArticoliCorrelati=jsonFactoryUtil.createJSONObject(ArticoliCorrelati.getData()) />
129<#if jsonArticoliCorrelati.classPK??>
130 <#assign classPK=jsonArticoliCorrelati.classPK />
131 <#assign articoliCorrelati=heraContributorLocalService.getLatestArticle(classPK?number)
132 docXml=saxReaderUtil.read(articoliCorrelati.getContentByLocale(locale.toString()))
133
134 TitoloArticoliCorrelati=docXml.valueOf("//dynamic-element[@name='TitoloArticoliCorrelati' ]/dynamic-content/text()")
135
136 Articolo1OBJ=docXml.valueOf("//dynamic-element[@name='Articolo1' ]/dynamic-content/text()")
137 ImmagineArticolo1OBJ=docXml.valueOf("//dynamic-element[@name='ImmagineArticolo1' ]/dynamic-content/text()")
138
139 Articolo2OBJ=docXml.valueOf("//dynamic-element[@name='Articolo2' ]/dynamic-content/text()")
140 ImmagineArticolo2OBJ=docXml.valueOf("//dynamic-element[@name='ImmagineArticolo2' ]/dynamic-content/text()")
141 Articolo3OBJ=docXml.valueOf("//dynamic-element[@name='Articolo3' ]/dynamic-content/text()")
142 ImmagineArticolo3OBJ=docXml.valueOf("//dynamic-element[@name='ImmagineArticolo3'
143 ]/dynamic-content/text()")
144
145
146
147
148
149 layoutIDarticolo1=LinkBottoneBannerOBJ?split("@")?first
150 layoutIDJsonObject = jsonFactoryUtil.createJSONObject(layoutIDarticolo1)
151 groupIDarticolo1=LinkBottoneBannerOBJ?split("@")?last
152 groupIDJsonObject = jsonFactoryUtil.createJSONObject(groupIDarticolo1)
153 pageLayoutArticolo1=heraContributorLocalService.getLayout(groupIDJsonObject.getLong("groupId"), false, layoutIDJsonObject.getLong('layoutId'))
154 LinkArticolo1=pageLayoutArticolo1.getFriendlyURL(local) target=""
155 target=""
156
157
158 layoutIDarticolo2=LinkBottoneBannerOBJ?split("@")?first
159 layoutIDJsonObject = jsonFactoryUtil.createJSONObject(layoutIDarticolo2)
160 groupIDarticolo2=LinkBottoneBannerOBJ?split("@")?last
161 groupIDJsonObject = jsonFactoryUtil.createJSONObject(groupIDarticolo2)
162 pageLayoutArticolo2=heraContributorLocalService.getLayout(groupIDJsonObject.getLong("groupId"), false, layoutIDJsonObject.getLong('layoutId'))
163 LinkArticolo2=pageLayoutArticolo2.getFriendlyURL(local) target=""
164 target=""
165
166
167 layoutIDarticolo3=LinkBottoneBannerOBJ?split("@")?first
168 layoutIDJsonObject = jsonFactoryUtil.createJSONObject(layoutIDarticolo3)
169 groupIDarticolo3=LinkBottoneBannerOBJ?split("@")?last
170 groupIDJsonObject = jsonFactoryUtil.createJSONObject(groupIDarticolo3)
171 pageLayoutArticolo3=heraContributorLocalService.getLayout(groupIDJsonObject.getLong("groupId"), false, layoutIDJsonObject.getLong('layoutId'))
172 LinkArticolo3=pageLayoutArticolo3.getFriendlyURL(local) target=""
173 target=""
174 />
175
176 <#if ImmagineArticolo1OBJ?has_content>
177 <#assign
178 immageOBJ1 = jsonFactoryUtil.createJSONObject(ImmagineArticolo1OBJ)
179 uuidImgArt1 = immageOBJ1.uuid
180 groupImgArt1 = immageOBJ1.groupId
181 img1Name = immageOBJ1.name
182 descImg1 = immageOBJ1.alt
183
184 fileEntryImage1 = heraContributorLocalService.fetchDLFileEntryByUuidAndGroupId(uuidImgArt1, groupImgArt1?number)
185
186 folderIDimg1 = fileEntryImage1.getFolderId()
187
188
189 immagineUrl1 = "/documents/" + groupImgArt1 + "/" + folderIDimg1 + "/" + img1Name + "/" + uuidImgArt1
190 />
191 </#if>
192 <#attempt>
193 <#if ImmagineArticolo2OBJ?has_content>
194 <#assign
195 immageOBJ2 = jsonFactoryUtil.createJSONObject(ImmagineArticolo2OBJ)
196 uuidImgArt2 = immageOBJ2.getString("uuid")
197 groupImgArt2 = immageOBJ2.getString("groupId")?number
198 img2Name = immageOBJ2.getString("name")
199 descImg2=immageOBJ2.getString("alt")
200 fileEntryImage2 = heraContributorLocalService.fetchDLFileEntryByUuidAndGroupId(uuidImgArt2, groupImgArt2)
201 folderIDimg2 = fileEntryImage2.getFolderId()
202 immagineUrl2 = "/documents/" + groupImgArt2+ "/" + folderIDimg2 + "/" + img2Name + "/" + uuidImgArt2
203 />
204 </#if>
205 <#recover>
206 </#attempt>
207
208 <#if ImmagineArticolo3OBJ?? && ImmagineArticolo3OBJ != "">
209
210 <#assign
211 immageOBJ3 = jsonFactoryUtil.createJSONObject(ImmagineArticolo3OBJ)
212 uuidImgArt3 = immageOBJ3.uuid
213 groupImgArt3 = immageOBJ3.groupId
214 img3Name = immageOBJ3.name
215
216 fileEntryImage3 = heraContributorLocalService.fetchDLFileEntryByUuidAndGroupId(uuidImgArt3, groupImgArt3?number)
217
218 folderIDimg3 = fileEntryImage3.getFolderId()
219
220 descImg3=immageOBJ3.alt
221 immagineUrl3 = "/documents/" + groupImgArt3+ "/" + folderIDimg3 + "/" + img3Name + "/" + uuidImgArt3
222 />
223 </#if>
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263 <section class="extraContentFullWrapper">
264 <div class="card">
265 <div class="card__exteranalWrapper">
266 <div class="card__titleWrapper">
267 <#if TitoloArticoliCorrelati?? >
268 <h3 class="card__title">${TitoloArticoliCorrelati}</h3>
269 </#if>
270 </div>
271 <div class="card__allCardscontainer">
272
273
274 <#if Articolo1OBJ?? && Articolo1OBJ != "" && ImmagineArticolo1OBJ?? && ImmagineArticolo1OBJ != "">
275
276 <a class="card__wrapper" href="${LinkArticolo1}">
277 <div class="card__internalWrapper">
278 <img src="${immagineUrl1}" alt="${descImg1}" class="card__img">
279 <div class="card__details">
280 <p class="card__description">${descImg1}</p>
281 </div>
282 </div>
283 </a>
284
285 </#if>
286 <#attempt>
287 <#if Articolo2OBJ?? && Articolo2OBJ != "" && ImmagineArticolo2OBJ?? && ImmagineArticolo2OBJ != "">
288
289 <a class="card__wrapper" href="${LinkArticolo2}">
290 <div class="card__internalWrapper">
291 <img src="${immagineUrl2}" alt="${descImg2}" class="card__img">
292 <div class="card__details">
293 <p class="card__description">${descImg2}</p>
294 </div>
295 </div>
296 </a>
297 </#if>
298 <#recover>
299 </#attempt>
300 <#if Articolo3OBJ?? && Articolo3OBJ != "" && ImmagineArticolo3OBJ?? && ImmagineArticolo3OBJ != "">
301
302 <a class="card__wrapper" href="${LinkArticolo3}">
303 <div class="card__internalWrapper">
304 <img src="${immagineUrl3}" alt="${descImg3}" class="card__img">
305 <div class="card__details">
306 <p class="card__description">${descImg3}</p>
307 </div>
308 </div>
309 </a>
310 </#if>
311 </#if>
312
313
314 </div>
315 </div>
316 </div>
317 </section>
318
319
320 <script>
321 $('.card__description').each(function() {
322 var title = $(this).text();
323 var index = title.search(/\\u2019/i);
324
325 if(index !== -1){
326 var newText = title.replace("u2019", "")
327 var cardTitle = newText.replace(/\\/g, "'")
328 $(this).text(cardTitle)
329 }
330 });
331 </script>