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