Quando conviene noleggiare un'auto elettrica | Hera Comm
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing: ==> LinkBottoneBanner [in template "20099#20135#38317002" at line 115, column 67] ---- 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: ${LinkBottoneBanner} [in template "20099#20135#38317002" at line 115, column 65] ----
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 <#attempt>
74
75 <#assign classPK=jsonFasciaMagenta.classPK />
76 <#assign fasciaMagenta=heraContributorLocalService.getLatestArticle(classPK?number)
77 docXml=saxReaderUtil.read(fasciaMagenta.getContentByLocale(locale.toString()))
78 TitoloBanner=docXml.valueOf("//dynamic-element[@name='TitoloBanner' ]/dynamic-content/text()")
79 SottotitoloBanner=docXml.valueOf("//dynamic-element[@name='SottotitoloBanner' ]/dynamic-content/text()")
80 LabelBottoneBanner=docXml.valueOf("//dynamic-element[@name='LabelBottoneBanner' ]/dynamic-content/text()")
81 AttivaLinkEsterno=docXml.valueOf("//dynamic-element[@name='AttivaLinkEsterno' ]/dynamic-content/text()")
82 LinkBannerEsterno=docXml.valueOf("//dynamic-element[@name='LinkBannerEsterno' ]/dynamic-content/text()")
83 LinkBottoneBannerOBJ=docXml.valueOf("//dynamic-element[@name='LinkBottoneBanner' ]/dynamic-content/text()")
84
85
86 layoutIDBottoneBanner=LinkBottoneBannerOBJ?split("@")?first
87 layoutIDJsonObject = jsonFactoryUtil.createJSONObject(layoutIDBottoneBanner)
88 groupIDlinkBott=LinkBottoneBannerOBJ?split("@")?last
89 groupIDJsonObject = jsonFactoryUtil.createJSONObject(groupIDlinkBott)
90 pageLayoutBottoneBanner=heraContributorLocalService.getLayout(groupIDJsonObject.getLong("groupId"), false, layoutIDJsonObject.getLong('layoutId'))
91 LinkBottoneBanner=pageLayoutBottoneBanner.getFriendlyURL(local)
92 target=""
93 />
94 <#recover>
95 </#attempt>
96
97
98
99
100
101 <section>
102 <div class="bannerLogo">
103 <div class="bannerLogo__wrapper">
104 <div class="bannerLogo__textWrapper">
105 <#if TitoloBanner??>
106 <h3 class="bannerLogo__title">${TitoloBanner}</h3>
107 </#if>
108 <#if SottotitoloBanner??>
109 <div class="bannerLogo__text">${SottotitoloBanner}</div>
110 </#if>
111 </div>
112 <#if LabelBottoneBanner?? && AttivaLinkEsterno?? && AttivaLinkEsterno=="false">
113
114 <div class="bannerLogo__btnWrapper">
115 <a class="bannerLogo__button" href="${LinkBottoneBanner}">${LabelBottoneBanner}</a>
116 </div>
117 </#if>
118
119 <#if LabelBottoneBanner?? && AttivaLinkEsterno?? && AttivaLinkEsterno=="true">
120
121 <div class="bannerLogo__btnWrapper">
122 <a class="bannerLogo__button" href="${LinkBannerEsterno}">${LabelBottoneBanner}</a>
123 </div>
124
125 </#if>
126
127 </div>
128 </div>
129 </section>
130 </#if>
131
132 <#assign jsonArticoliCorrelati=jsonFactoryUtil.createJSONObject(ArticoliCorrelati.getData()) />
133<#if jsonArticoliCorrelati.classPK??>
134 <#assign classPK=jsonArticoliCorrelati.classPK />
135 <#assign articoliCorrelati=heraContributorLocalService.getLatestArticle(classPK?number)
136 docXml=saxReaderUtil.read(articoliCorrelati.getContentByLocale(locale.toString()))
137
138 TitoloArticoliCorrelati=docXml.valueOf("//dynamic-element[@name='TitoloArticoliCorrelati' ]/dynamic-content/text()")
139
140 Articolo1OBJ=docXml.valueOf("//dynamic-element[@name='Articolo1' ]/dynamic-content/text()")
141 ImmagineArticolo1OBJ=docXml.valueOf("//dynamic-element[@name='ImmagineArticolo1' ]/dynamic-content/text()")
142
143 Articolo2OBJ=docXml.valueOf("//dynamic-element[@name='Articolo2' ]/dynamic-content/text()")
144 ImmagineArticolo2OBJ=docXml.valueOf("//dynamic-element[@name='ImmagineArticolo2' ]/dynamic-content/text()")
145 Articolo3OBJ=docXml.valueOf("//dynamic-element[@name='Articolo3' ]/dynamic-content/text()")
146 ImmagineArticolo3OBJ=docXml.valueOf("//dynamic-element[@name='ImmagineArticolo3'
147 ]/dynamic-content/text()")
148
149
150
151
152
153 layoutIDarticolo1=LinkBottoneBannerOBJ?split("@")?first
154 layoutIDJsonObject = jsonFactoryUtil.createJSONObject(layoutIDarticolo1)
155 groupIDarticolo1=LinkBottoneBannerOBJ?split("@")?last
156 groupIDJsonObject = jsonFactoryUtil.createJSONObject(groupIDarticolo1)
157 pageLayoutArticolo1=heraContributorLocalService.getLayout(groupIDJsonObject.getLong("groupId"), false, layoutIDJsonObject.getLong('layoutId'))
158 LinkArticolo1=pageLayoutArticolo1.getFriendlyURL(local) target=""
159 target=""
160
161
162 layoutIDarticolo2=LinkBottoneBannerOBJ?split("@")?first
163 layoutIDJsonObject = jsonFactoryUtil.createJSONObject(layoutIDarticolo2)
164 groupIDarticolo2=LinkBottoneBannerOBJ?split("@")?last
165 groupIDJsonObject = jsonFactoryUtil.createJSONObject(groupIDarticolo2)
166 pageLayoutArticolo2=heraContributorLocalService.getLayout(groupIDJsonObject.getLong("groupId"), false, layoutIDJsonObject.getLong('layoutId'))
167 LinkArticolo2=pageLayoutArticolo2.getFriendlyURL(local) target=""
168 target=""
169
170
171 layoutIDarticolo3=LinkBottoneBannerOBJ?split("@")?first
172 layoutIDJsonObject = jsonFactoryUtil.createJSONObject(layoutIDarticolo3)
173 groupIDarticolo3=LinkBottoneBannerOBJ?split("@")?last
174 groupIDJsonObject = jsonFactoryUtil.createJSONObject(groupIDarticolo3)
175 pageLayoutArticolo3=heraContributorLocalService.getLayout(groupIDJsonObject.getLong("groupId"), false, layoutIDJsonObject.getLong('layoutId'))
176 LinkArticolo3=pageLayoutArticolo3.getFriendlyURL(local) target=""
177 target=""
178 />
179
180 <#if ImmagineArticolo1OBJ?has_content>
181 <#assign
182 immageOBJ1 = jsonFactoryUtil.createJSONObject(ImmagineArticolo1OBJ)
183 uuidImgArt1 = immageOBJ1.uuid
184 groupImgArt1 = immageOBJ1.groupId
185 img1Name = immageOBJ1.name
186 descImg1 = immageOBJ1.alt
187
188 fileEntryImage1 = heraContributorLocalService.fetchDLFileEntryByUuidAndGroupId(uuidImgArt1, groupImgArt1?number)
189
190 folderIDimg1 = fileEntryImage1.getFolderId()
191
192
193 immagineUrl1 = "/documents/" + groupImgArt1 + "/" + folderIDimg1 + "/" + img1Name + "/" + uuidImgArt1
194 />
195 </#if>
196 <#attempt>
197 <#if ImmagineArticolo2OBJ?has_content>
198 <#assign
199 immageOBJ2 = jsonFactoryUtil.createJSONObject(ImmagineArticolo2OBJ)
200 uuidImgArt2 = immageOBJ2.getString("uuid")
201 groupImgArt2 = immageOBJ2.getString("groupId")?number
202 img2Name = immageOBJ2.getString("name")
203 descImg2=immageOBJ2.getString("alt")
204 fileEntryImage2 = heraContributorLocalService.fetchDLFileEntryByUuidAndGroupId(uuidImgArt2, groupImgArt2)
205 folderIDimg2 = fileEntryImage2.getFolderId()
206 immagineUrl2 = "/documents/" + groupImgArt2+ "/" + folderIDimg2 + "/" + img2Name + "/" + uuidImgArt2
207 />
208 </#if>
209 <#recover>
210 </#attempt>
211
212 <#if ImmagineArticolo3OBJ?? && ImmagineArticolo3OBJ != "">
213
214 <#assign
215 immageOBJ3 = jsonFactoryUtil.createJSONObject(ImmagineArticolo3OBJ)
216 uuidImgArt3 = immageOBJ3.uuid
217 groupImgArt3 = immageOBJ3.groupId
218 img3Name = immageOBJ3.name
219
220 fileEntryImage3 = heraContributorLocalService.fetchDLFileEntryByUuidAndGroupId(uuidImgArt3, groupImgArt3?number)
221
222 folderIDimg3 = fileEntryImage3.getFolderId()
223
224 descImg3=immageOBJ3.alt
225 immagineUrl3 = "/documents/" + groupImgArt3+ "/" + folderIDimg3 + "/" + img3Name + "/" + uuidImgArt3
226 />
227 </#if>
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
264
265
266
267 <section class="extraContentFullWrapper">
268 <div class="card">
269 <div class="card__exteranalWrapper">
270 <div class="card__titleWrapper">
271 <#if TitoloArticoliCorrelati?? >
272 <h3 class="card__title">${TitoloArticoliCorrelati}</h3>
273 </#if>
274 </div>
275 <div class="card__allCardscontainer">
276
277
278 <#if Articolo1OBJ?? && Articolo1OBJ != "" && ImmagineArticolo1OBJ?? && ImmagineArticolo1OBJ != "">
279
280 <a class="card__wrapper" href="${LinkArticolo1}">
281 <div class="card__internalWrapper">
282 <img src="${immagineUrl1}" alt="${descImg1}" class="card__img">
283 <div class="card__details">
284 <p class="card__description">${descImg1}</p>
285 </div>
286 </div>
287 </a>
288
289 </#if>
290 <#attempt>
291 <#if Articolo2OBJ?? && Articolo2OBJ != "" && ImmagineArticolo2OBJ?? && ImmagineArticolo2OBJ != "">
292
293 <a class="card__wrapper" href="${LinkArticolo2}">
294 <div class="card__internalWrapper">
295 <img src="${immagineUrl2}" alt="${descImg2}" class="card__img">
296 <div class="card__details">
297 <p class="card__description">${descImg2}</p>
298 </div>
299 </div>
300 </a>
301 </#if>
302 <#recover>
303 </#attempt>
304 <#if Articolo3OBJ?? && Articolo3OBJ != "" && ImmagineArticolo3OBJ?? && ImmagineArticolo3OBJ != "">
305
306 <a class="card__wrapper" href="${LinkArticolo3}">
307 <div class="card__internalWrapper">
308 <img src="${immagineUrl3}" alt="${descImg3}" class="card__img">
309 <div class="card__details">
310 <p class="card__description">${descImg3}</p>
311 </div>
312 </div>
313 </a>
314 </#if>
315 </#if>
316
317
318 </div>
319 </div>
320 </div>
321 </section>
322
323 <style>
324 a.bannerLogo__button {
325 background: white;
326 padding: 14px 32px;
327 border-radius: 50px;
328}
329
330
331 </style>
332
333
334 <script>
335 $('.card__description').each(function() {
336 var title = $(this).text();
337 var index = title.search(/\\u2019/i);
338
339 if(index !== -1){
340 var newText = title.replace("u2019", "")
341 var cardTitle = newText.replace(/\\/g, "'")
342 $(this).text(cardTitle)
343 }
344 });
345 </script>