Colonnine di ricarica per automobili clienti Business
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing: ==> MostraWidgetCallBack [in template "20099#20135#93622" at line 170, column 30] ---- 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: showWidgetCallBack = MostraWidgetCall... [in template "20099#20135#93622" at line 170, column 9] - Reached through: #assign-container [in template "20099#20135#93622" at line 169, column 2] ----
1<input id="active-site-class" hidden value="${getterUtil.getString(themeDisplay.getThemeSetting("site-var"))}" />
2<style>
3.icon-comunita:before {
4 content: "\e96bb";
5}
6 #tariffa-excerpt .quote-section {
7 padding-top: 50px !important;
8 }
9
10 @media (max-width: 991px) {
11 #tariffa-excerpt .quote-section {
12 padding-top: 130px !important;
13 }
14
15 .fixed-widget-offerta-container {
16 margin-top:68%;
17 }
18 }
19
20 .safari .showmobilewidget .btn {
21 width: 100% !important;
22 }
23
24</style>
25
26<#assign
27 title=.vars['reserved-article-title'].data
28 urlcustom=themeDisplay.getURLCurrent()?keep_before("?")
29 tryurl=themeDisplay.getPortalURL()+themeDisplay.getURLCurrent()
30 showWidget=false
31 showForm=false
32 showWidgetCallBack = false
33 tryurl=themeDisplay.getPortalURL()+themeDisplay.getURLCurrent()
34 colClassSoluzioni="col-lg-12"
35 journalArticleServiceUtil=objectUtil("com.liferay.journal.service.JournalArticleServiceUtil")
36 assetVocabularyServiceUtil=objectUtil("com.liferay.asset.kernel.service.AssetVocabularyServiceUtil")
37 vocabularyId=0
38 docCompare1=languageUtil.get(locale, "HC")
39 docCompare2=languageUtil.get(locale, "HC")
40 heracommmarchestring=languageUtil.get(locale, "heracomm-marchestring")
41 nordeststring=languageUtil.get(locale, "heracomm-nordeststring")
42 cmvstring=languageUtil.get(locale, "cmvenergiastring")
43 estenergystring=languageUtil.get(locale, "estenergystring")
44
45 widgetAttivaOraTitle=title
46 widgetAttivaOraSubtitle='Hai scelto <strong>'+title+'</strong> clicca su attiva per continuare.'
47 widgetAttivaOraCta=languageUtil.get(locale, "attiva-ora")
48 widgetAttivaOraLink=languageUtil.get(locale, "heracomm-url") + urlcustom + languageUtil.get(locale, "sottoscrizione-sol-url")
49/>
50<#if TitoloWidgetAttivaOra?? && TitoloWidgetAttivaOra.getData()?? && TitoloWidgetAttivaOra.getData()?has_content>
51 <#assign widgetAttivaOraTitle=TitoloWidgetAttivaOra.getData() />
52</#if>
53<#if TitoloWidgetAttivaOra?? && TitoloWidgetAttivaOra.SottotitoloWidgetAttivaOra?? && TitoloWidgetAttivaOra.SottotitoloWidgetAttivaOra.getData()?? && TitoloWidgetAttivaOra.SottotitoloWidgetAttivaOra.getData()?has_content>
54 <#assign widgetAttivaOraSubtitle=TitoloWidgetAttivaOra.SottotitoloWidgetAttivaOra.getData() />
55</#if>
56<#if TitoloWidgetAttivaOra?? && TitoloWidgetAttivaOra.CtaWidgetAttivaOra?? && TitoloWidgetAttivaOra.CtaWidgetAttivaOra.getData()?? && TitoloWidgetAttivaOra.CtaWidgetAttivaOra.getData()?has_content>
57 <#assign widgetAttivaOraCta=TitoloWidgetAttivaOra.CtaWidgetAttivaOra.getData() />
58</#if>
59<#if TitoloWidgetAttivaOra?? && TitoloWidgetAttivaOra.LinkWidgetAttivaOra?? && TitoloWidgetAttivaOra.LinkWidgetAttivaOra.getData()?? && TitoloWidgetAttivaOra.LinkWidgetAttivaOra.getData()?has_content>
60 <#assign widgetAttivaOraLink=TitoloWidgetAttivaOra.LinkWidgetAttivaOra.getData() />
61</#if>
62
63<#assign solsottoscrizione=urlcustom+ "/sottoscrizione" />
64<#-- <#assign solnoproblemluce=urlcustom+ "/sottoscrizione-luce" />
65<#assign solnoproblemgas=urlcustom+ "/sottoscrizione-gas" /> -->
66
67<#if tryurl?contains(nordeststring) || tryurl?contains(estenergystring)>
68 <#assign docCompare1=languageUtil.get(locale, "HCNE") />
69 <#assign docCompare2=languageUtil.get(locale, "EENE") />
70 </#if>
71 <#if urlcustom?contains(cmvstring)>
72 <#assign docCompare1=languageUtil.get(locale, "CMV") />
73 <#assign docCompare2=languageUtil.get(locale, "CMV") />
74 </#if>
75 <#if tryurl?contains(heracommmarchestring)>
76 <#assign
77 docCompare1=languageUtil.get(locale, "HCM")
78 docCompare2=languageUtil.get(locale, "HCM")
79 />
80</#if>
81 <#if themeDisplay.getScopeGroup().getParentGroupId() gt 0>
82 <#assign
83 vocabulariesList = assetVocabularyServiceUtil.getGroupVocabularies(themeDisplay.getScopeGroup().getParentGroupId())
84 journalArticle = journalArticleServiceUtil.getArticle(getterUtil.getLong(themeDisplay.getScopeGroup().getParentGroupId()), .vars['reserved-article-id'].data)
85 />
86 <#else>
87 <#assign
88 vocabulariesList = assetVocabularyServiceUtil.getGroupVocabularies(themeDisplay.getScopeGroupId())
89 journalArticle = journalArticleServiceUtil.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data)
90 />
91 </#if>
92 <#assign
93 assetCategoryServiceUtil = objectUtil("com.liferay.asset.kernel.service.AssetCategoryServiceUtil")
94 journalArticleCategories = assetCategoryServiceUtil.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey())
95 hasLuce=false
96 hasGas=false
97 valueLuce=0
98 valueGas=0
99 formUrl = "soluzioni-sostenibili/sottoscrizione"
100 target=""
101 subtarget=""
102 offerta = urlcustom?keep_after_last(languageUtil.get(locale, "soluzioni-sostenibili-internal-url"))
103 prefUrl = urlcustom?keep_before(languageUtil.get(locale, "soluzioni-sostenibili-internal-url"))
104 prefUrlCondividi = themeDisplay.getPortalURL()
105 />
106 <#list vocabulariesList as vocabulary>
107 <#assign vocabularyName = vocabulary.getName() />
108 <#if vocabularyName?? && vocabularyName?lower_case == languageUtil.get(locale, "servizio") >
109 <#assign vocabularyId = vocabulary.getVocabularyId() />
110 </#if>
111 </#list>
112 <#if urlcustom?contains("/business/")>
113 <#assign
114 isCasa = false
115 target = "business"
116 />
117 <#if urlcustom?contains("/business/")>
118 <#assign
119 subtarget = urlcustom?keep_after_last("/business/")
120 subtarget = subtarget?keep_before("/soluzioni-sostenibili/")
121 />
122 </#if>
123 <#else>
124 <#assign
125 isCasa = true
126 target = "casa"
127 />
128 </#if>
129 <#assign
130 formUrl = prefUrl + "/" + formUrl
131 formSottoscriviUrl = urlcustom + languageUtil.get(locale, "richiesta-informazioni-page")
132 completeUrl = prefUrlCondividi + urlcustom
133 />
134 <#list journalArticleCategories as category>
135 <#if category.vocabularyId == vocabularyId>
136 <#switch category.name?lower_case>
137 <#case "luce">
138 <#assign
139 hasLuce = true
140 valueLuce = 1
141 />
142 <#break />
143 <#case "gas">
144 <#assign
145 hasGas = true
146 valueGas = 1
147 />
148 <#break />
149 <#default>
150 <#break />
151 </#switch>
152 </#if>
153 </#list>
154 <#if MostraWidgetAttivaOra??>
155 <#if MostraWidgetAttivaOra.getData()?? && MostraWidgetAttivaOra.getData() == languageUtil.get(locale, "yesvar")>
156 <#assign
157 showWidget = true
158 colClassSoluzioni="col-lg-8"
159 />
160 <#elseif MostraFormDiSottoscrizione??>
161 <#if MostraFormDiSottoscrizione.getData()?? && MostraFormDiSottoscrizione.getData() == languageUtil.get(locale, "yesvar")>
162 <#assign
163 showForm = true
164 colClassSoluzioni="col-lg-8"
165 />
166 </#if>
167 </#if>
168 </#if>
169 <#assign
170 showWidgetCallBack = MostraWidgetCallBack.getData()
171 titoloCallBack = ""
172 sottotitoloCallBack = ""
173 />
174 <#-- Widget CallBack -->
175 <#if showWidgetCallBack == languageUtil.get(locale, "yesvar")>
176 <#if TitoloWidgetCallBack?? && TitoloWidgetCallBack.SottotitoloWidgetCallBack??>
177 <#assign
178 titoloCallBack = TitoloWidgetCallBack.getData()
179 sottotitoloCallBack = TitoloWidgetCallBack.SottotitoloWidgetCallBack.getData()
180 colClassSoluzioni="col-lg-8"
181 />
182 </#if>
183 <section id="widget-offerta" class="d-none d-lg-block">
184 <div class="container position-relative">
185 <div class="row">
186 <div class="offset-lg-8 col-lg-4 col-widget-offerta px-0 px-sm-3">
187 <div class="fixed-widget-offerta-container py-5 text-center">
188 <div class="fixed-widget-offerta-inner-container white-box position-relative px-4 pt-4 pb-3 mt-4" style="width: 300px;">
189 <span class="h4 gradient-text text-uppercase small bolder mb-1">${TitoloWidgetCallBack.getData()}</span>
190 <div class="black-three big letter-spacing-sm">${TitoloWidgetCallBack.SottotitoloWidgetCallBack.getData()}</div>
191 <div class="offerta-selected x-bigger letter-spacing-sm greyish-brown l12 mt-3 mb-5 hide">
192 Hai scelto <strong class="offerta-type">${TitoloWidgetCallBack.SottotitoloWidgetCallBack.getData()}</strong> clicca su informazioni per continuare.
193 </div>
194 </div>
195 <div class="white-two-bg position-relative px-4 pb-3" style="width: 300px;">
196 <div class="pb-2">
197 <div class="black-three bold letter-spacing-sm mb-2">SEI INTERESSATO?</div>
198 <a id="tichiamiamooff" class="btn gradient white font-weight-bold" href="#" style="font-size:14px">
199 <i class="icon-phone-call title-mid white big align-sub mr-1"></i>Fatti richiamare
200 </a>
201 </div>
202 <div id="vvc-activate-box">
203 </div>
204 <!-- <div class="col-xl-6 pb-2">
205 <a class="gradient-text font-weight-bold" href="#" style="font-size:14px">
206 <i class="icon-info-alt title-mid gradient-text big align-sub mr-1"></i>Attiva la chat
207 </a>
208 </div> -->
209 </div>
210 </div>
211 </div>
212 </div>
213 </div>
214 </section>
215 <!-- Mobile-->
216 <section class="container mobile d-lg-none">
217 <div class="container position-relative">
218 <div class="row">
219 <div class="offset-lg-8 col-lg-4 px-0 px-sm-3">
220 <div class="fixed-widget-offerta-container" style="margin-top: 125px;">
221 <div class="fixed-widget-offerta-inner-container white-box position-relative text-center px-4 pt-4 pb-3 mt-4">
222 <span class="h4 d-block gradient-text text-uppercase small bolder mb-1">${TitoloWidgetCallBack.getData()}</span>
223 <div class="black-three big letter-spacing-sm">${TitoloWidgetCallBack.SottotitoloWidgetCallBack.getData()}</div>
224 <div class="offerta-selected x-bigger letter-spacing-sm greyish-brown l12 mt-3 mb-5 hide">
225 Hai scelto <strong class="offerta-type">${TitoloWidgetCallBack.SottotitoloWidgetCallBack.getData()}</strong> clicca su informazioni per continuare.
226 </div>
227 </div>
228 <div class="white-two-bg position-relative text-center px-2 pb-3">
229 <div class="row">
230 <div class="col-xs-12 text-center pb-2">
231 <div class="black-three bold letter-spacing-sm mb-2">SEI INTERESSATO?</div>
232 <a id="tichiamiamooff" class="btn gradient white letter-spacing-sm font-weight-bold mt-4" href="#" style="font-size:15px">
233 <i class="icon-phone-call title-mid white big align-sub mr-1"></i>Fatti richiamare
234 </a>
235 </div>
236 <div class="col-xs-12 pb-2 text-center" id="vvc-activate-box-mobile">
237 </div>
238 <!-- <div class="col-xs-12 text-center pb-2">
239 <a class="gradient-text letter-spacing-sm font-weight-bold" href="#" style="font-size:15px">
240 <i class="icon-info-alt title-mid gradient-text big align-sub mr-1"></i>Attiva la chat
241 </a>
242 </div> -->
243 </div>
244 </div>
245 </div>
246 </div>
247 </div>
248 </div>
249 </section>
250 <!--div class="showmobilewidget mobile d-lg-none container gradient active"
251 style="position: fixed;bottom: 0px;z-index: 50;">
252 <div class="px-5 justify-content-center d-flex">
253 <a href="${formUrl}" class="white text-center bold x-bigger my-2"> Richiedi informazioni </a>
254 </div>
255 </div-->
256
257 <#-- Widget Attiva ora -->
258 <#elseif showWidget || showForm>
259 <section id="widget-offerta" class="d-none d-lg-block">
260 <div class="container position-relative py-5">
261
262 <div class="row">
263 <div class="offset-lg-8 col-lg-4 col-widget-offerta px-0 px-sm-3">
264 <div class="fixed-widget-offerta-container">
265 <div class="fixed-widget-offerta-inner-container white-box position-relative text-center p-4 mt-4">
266 <p class="h4 darkish-pink text-uppercase small bolder mb-1">${widgetAttivaOraTitle}</p>
267 <#if showWidget>
268 <div>
269 <div class="row px-0 big letter-spacing-sm l12">
270 <div class="col-md-6 text-left">
271 <div class="greyish-brown my-3">
272 Disponibile per:
273 </div>
274 </div>
275 <div class="col-md-6 pt-3 text-right">
276 <#if hasLuce>
277 <span class="gradient-text pt-1">
278 <i class="icon-energia normal"></i> Luce
279 </span>
280 </#if>
281 <#if hasGas>
282 <#assign marginCustom = "" />
283 <#if hasLuce>
284 <#assign marginCustom = "ml-2" />
285 </#if>
286 <span class="gradient-text pt-1">
287 <i class="icon-gas normal ${marginCustom}"></i> Gas
288 </span>
289 </#if>
290 </div>
291 </div>
292 <div class="offerta-selected x-bigger letter-spacing-sm greyish-brown l12 my-3">
293 ${widgetAttivaOraSubtitle}
294 </div>
295 <div class="justify-content-center">
296 <a id="attivaora" class="btn gradient white w-100 justify-content-center mt-3 mb-4" href="${widgetAttivaOraLink}">${widgetAttivaOraCta}</a>
297 </div>
298 </div>
299 <#elseif showForm>
300 <h4 class="gradient-text text-uppercase small bolder mb-1">${languageUtil.get(locale, "soluzioni-sostenibili")}</h4>
301 <div class="black-three big letter-spacing-sm">${TitoloWidgetCallBack.SottotitoloWidgetCallBack.getData()}</div>
302 <div class="row px-0 big letter-spacing-sm l12">
303 <div class="col-md-6 text-left">
304 <div class="greyish-brown my-3">
305 ${languageUtil.get(locale, "disponibile-per")}
306 </div>
307 </div>
308 <div class="col-md-6 pt-3 text-right">
309 <#if hasLuce>
310 <span class="gradient-text pt-1">
311 <i class="icon-energia normal"></i> Luce
312 </span>
313 </#if>
314 <#if hasGas>
315 <#assign marginCustom = "" />
316 <#if hasLuce>
317 <#assign marginCustom = "ml-2" />
318 </#if>
319 <span class="gradient-text pt-1">
320 <i class="icon-gas normal ${marginCustom}"></i> Gas
321 </span>
322 </#if>
323 </div>
324 </div>
325 <div class="x-bigger letter-spacing-sm greyish-brown l12 my-3">
326 ${widgetAttivaOraSubtitle}
327 </div>
328 <div class="justify-content-center">
329 <a data-senna-off="true" href="${widgetAttivaOraLink}"
330 style="color:white;border-radius:5px"
331 class="btn gradient white px-5 justify-content-center mt-3 mb-3"
332 id="attivaora">
333 ${widgetAttivaOraCta}
334 </a>
335 </div>
336 </#if>
337 </div>
338 <div class="white-two-bg position-relative text-center px-4 pb-3">
339 <p class="h4 greyish-brown text-uppercase small bolder mb-3">
340 ${languageUtil.get(locale, "hai-bisogno-di-aiuto-offerta")}
341 </p>
342 <div class="row text-left">
343 <div class="col-xl-12 pb-2 text-center">
344 <a id="tichiamiamosol" class="gradient-text letter-spacing-sm font-weight-bold"
345 href="#">
346 <i class="icon-phone-call big align-sub mr-1"></i> Ti chiamiamo noi
347 </a>
348 </div>
349 <div class="col-xl-12 pb-2 text-center" id="vvc-activate-box"></div>
350 <!-- <div class="col-xl-6 pb-2 d-none">
351 <a class="gradient-text letter-spacing-sm font-weight-bold" href="#">
352 <i class="icon-info-alt big align-sub mr-1"></i> Attiva la chat
353 </a>
354 </div> -->
355 </div>
356 </div>
357 </div>
358 </div>
359 </div>
360 </div>
361 </section>
362
363 <!-- Mobile -->
364 <section class="container mobile d-lg-none" style="margin-top: -7.5rem !important;">
365 <div class="container position-relative py-5">
366 <div class="row">
367 <div class="offset-lg-8 col-lg-4 px-0 px-sm-3">
368 <div class="fixed-widget-offerta-container">
369 <div class="fixed-widget-offerta-inner-container white-box position-relative text-center p-4 mt-4">
370 <span class="h4 d-block darkish-pink text-uppercase small bolder mb-1">${widgetAttivaOraTitle}</span>
371 <#if showWidget>
372 <div clas="d-flex justify-content-center text-center">
373 <a id="attivaora" class="btn gradient white w-100 justify-content-center mt-3 mb-4" href="${widgetAttivaOraLink}">${widgetAttivaOraCta}</a>
374 </div>
375 <#elseif showForm>
376 <div class="row px-0 big letter-spacing-sm l12">
377 <div class="col-md-6 text-left">
378 <div class="greyish-brown my-3">
379 ${languageUtil.get(locale, "disponibile-per")}
380 </div>
381 </div>
382 <div class="col-md-6 pt-3 text-right">
383 <#if hasLuce>
384 <span class="gradient-text pt-1">
385 <i class="icon-energia normal"></i> Luce
386 </span>
387 </#if>
388 <#if hasGas>
389 <#assign marginCustom = "" />
390 <#if hasLuce>
391 <#assign marginCustom = "ml-2" />
392 </#if>
393 <span class="gradient-text pt-1">
394 <i class="icon-gas normal ${marginCustom}"></i> Gas
395 </span>
396 </#if>
397 </div>
398 </div>
399 <div class="x-bigger letter-spacing-sm greyish-brown l12 my-3">
400 ${widgetAttivaOraSubtitle}
401 </div>
402 <div class="justify-content-center">
403 <a data-senna-off="true" href="${widgetAttivaOraLink}"
404 style="color:white;border-radius:5px"
405 class="btn gradient white px-5 justify-content-center mt-3 mb-4"
406 id="attivaora">
407 ${widgetAttivaOraCta}
408 </a>
409 </div>
410 </#if>
411 </div>
412 <div class="white-two-bg position-relative text-center px-4 pb-3">
413 <span class="h4 d-block greyish-brown text-uppercase small bolder mb-3">
414 ${languageUtil.get(locale, "hai-bisogno-di-aiuto-offerta")}
415 </span>
416 <div class="row text-left">
417 <div class="col-xs-12 pb-2 text-center">
418 <a id="tichiamiamosol" class="gradient-text letter-spacing-sm font-weight-bold"
419 href="#">
420 <i class="icon-phone-call big align-sub mr-1"></i>
421 ${languageUtil.get(locale, "ti-chiamiamo-noi")}
422 </a>
423 </div>
424 <div class="col-xs-12 pb-2 text-center" id="vvc-activate-box-mobile">
425 </div>
426 </div>
427 </div>
428 </div>
429 </div>
430 </div>
431 <div class="showmobilewidget mobile d-lg-none container gradient"
432 style="position: fixed;bottom: 0px;z-index: 50;margin-left: -16px;">
433 <div class="row px-5 justify-content-center">
434 <div class="col-xs-12 pb-3">
435 <a id="attivaora" class="btn btn-border darkish-color white-bg w-100 justify-content-center mt-3 mb-1"
436 href="${widgetAttivaOraLink}">${widgetAttivaOraCta}</a>
437 </div>
438 </div>
439 </div>
440 </section>
441 <#else>
442 </#if>
443
444 <#-- ************* Modale per avviso Condividi ************** -->
445 <style>
446 /* The Modal (background) */
447 .offerta-modal {
448 display: none; /* Hidden by default */
449 position: fixed; /* Stay in place */
450 z-index: 1; /* Sit on top */
451 padding-top: 300px; /* Location of the box */
452 left: 0;
453 top: 0;
454 width: 100%; /* Full width */
455 height: 100%; /* Full height */
456 overflow: auto; /* Enable scroll if needed */
457 background-color: rgb(0,0,0); /* Fallback color */
458 background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
459 }
460
461 /* Modal Content */
462 .offerta-modal-content {
463 background-color: #fefefe;
464 margin: auto;
465 padding: 20px;
466 border: 1px solid #888;
467 width: 80%;
468 }
469
470 /* The close_offerta Button */
471 .close_offerta {
472 color: #aaaaaa;
473 float: right;
474 font-size: 28px;
475 font-weight: bold;
476 }
477
478 .close_offerta:hover,
479 .close_offerta:focus {
480 color: #000;
481 text-decoration: none;
482 cursor: pointer;
483 }
484 </style>
485
486 <!-- The Modal -->
487 <div id="myModal" class="modal offerta-modal" style="z-index:100">
488 <!-- Modal content -->
489 <div class="modal-content offerta-modal-content col-lg-3">
490 <span class="close_offerta text-right" style="color:red;">×</span>
491 <div>
492 <span class="h3 d-block bigger text-center mb-3">${languageUtil.get(locale, "testo-modale-sol")}</span>
493 <input type="text" value="${completeUrl}" id="myInput" class="text-center" disabled>
494 </div>
495 <div class="text-center">
496 <button id="copyLinkButton" onclick="copyToClipBoard()" class="btn gradient white text-center mt-3">
497 ${languageUtil.get(locale, "copia-link-modale-assistenza")}
498 </button>
499 </div>
500 </div>
501 </div>
502
503 <#-- Sezione "Tariffa Except" -->
504 <#if TitoloIntroComune??>
505 <section id="tariffa-excerpt" class="quote-section">
506 <div class="container position-relative py-5">
507 <div class="row">
508 <div class="col-lg-8">
509 <div class="row">
510 <div class="${colClassSoluzioni}">
511 <#if TitoloIntroComune.getData()?has_content>
512 <h2 class="firstTitle--withCircle gradient-text title-big letter-spacing-sm bolder">${TitoloIntroComune.getData()}</h2>
513 </#if>
514 </div>
515 </div>
516 <#assign counter = 0/>
517 <#list TitoloIntro.getSiblings() as checkTitoloIntro>
518 <#assign counter = counter +1/>
519 </#list>
520 <#if counter == 1 >
521 <#list TitoloIntro.getSiblings()?chunk(2) as titoloIntro>
522 <div class="row">
523 <div class="${colClassSoluzioni}">
524 <#if titoloIntro?has_content>
525 <#list titoloIntro as titolo>
526 <#if titolo??>
527 <#if titolo.getData() !="">
528 <h3 class="gradient-text title-big letter-spacing-sm bolder mb-5">${titolo.getData()}</h3>
529 </#if>
530 </#if>
531 <#if titolo.DescrizioneIntro??>
532 <#if titolo.DescrizioneIntro.getData() !="">
533 <#if titolo.DescrizioneIntro.getData() !="">
534 <blockquote class="black-three big letter-spacing-sm l15 pr-lg-5">
535 ${titolo.DescrizioneIntro.getData()}
536 </blockquote>
537 </#if>
538 </#if>
539 </#if>
540 </#list>
541 </#if>
542 </div>
543 </div>
544 </#list>
545 <#else>
546 <#list TitoloIntro.getSiblings()?chunk(2) as titoloIntro>
547 <div class="row">
548 <#if titoloIntro?has_content>
549 <#list titoloIntro as titolo>
550 <div class="col-lg-6">
551 <#if titolo??>
552 <#if titolo.getData() !="">
553 <h3 class="h4 hc-pdp-subtitle bolder gradient-text">${titolo.getData()}</h3>
554 </#if>
555 </#if>
556 <#if titolo.DescrizioneIntro??>
557 <#if titolo.DescrizioneIntro.getData() !="">
558 <blockquote class="black-three big letter-spacing-sm l15 pr-lg-5">${titolo.DescrizioneIntro.getData()}</blockquote>
559 </#if>
560 </#if>
561 </div>
562 </#list>
563 </#if>
564 </div>
565 </#list>
566 </#if>
567 </div>
568 </div>
569 </div>
570 </section>
571 </#if>
572
573 <#-- Sezione "Premio Annuo" -->
574 <#if DescrizioneTestoEvidenza.getData() != "">
575 <section id="premio-annuo" class="d-none d-lg-block">
576 <div class="container position-relative py-5">
577 <div class="row mt-5 py-5">
578 <div class="${colClassSoluzioni}" style="padding-top: 50px ;">
579 ${DescrizioneTestoEvidenza.getData()}
580 <#if InfoTestoEvidenza??>
581 <#if InfoTestoEvidenza.getData()?? && InfoTestoEvidenza.getData() != "">
582 <hr class="my-3" />
583 ${InfoTestoEvidenza.getData()}
584 </#if>
585 </#if>
586 </div>
587 </div>
588 </div>
589 </section>
590
591
592 <!-- Mobile -->
593 <section id="premio-annuo-mobile" class="mobile d-lg-none" style="background-image: linear-gradient(281deg,#9b3cb7 0%,#f24474 60%);background-repeat: no-repeat;background-size: 100vw 100%;background-position: top left;">
594 <div class="container position-relative">
595 <div class="row">
596 <div class="${colClassSoluzioni}" style="padding-top: 50px ;">
597 ${DescrizioneTestoEvidenza.getData()}
598 <#if InfoTestoEvidenza??>
599 <#if InfoTestoEvidenza.getData()?? && InfoTestoEvidenza.getData() != "">
600 <hr class="my-3" />
601 ${InfoTestoEvidenza.getData()}
602 </#if>
603 </#if>
604 </div>
605 </div>
606 </div>
607 </section>
608 </#if>
609
610 <#-- ************* Sezione "Coperture" ************* -->
611 <#if TitoloTestoAggiuntivo??>
612 <#if TitoloTestoAggiuntivo.getData()?? && TitoloTestoAggiuntivo.getData() != "">
613 <section id="coperture">
614 <div class="container py-5">
615 <div class="row">
616 <div class="${colClassSoluzioni}">
617 <span class="h2 title-big black-three letter-spacing-sm bolder pb-4">${TitoloTestoAggiuntivo.getData()}</span>
618 <#if DescrizioneTestoAggiuntivo.getData()?? && DescrizioneTestoAggiuntivo.getData() != "">
619 ${DescrizioneTestoAggiuntivo.getData()}
620 </#if>
621 </div>
622 </div>
623 </div>
624 </section>
625 </#if>
626 </#if>
627
628 <#-- ************* Sezione "L'offerta nel Dettaglio" ************* -->
629 <#if TestoDettaglioOfferta.getSiblings()?has_content && TestoDettaglioOfferta.getData() != "">
630 <section id="list" class="white-two-bg py-5 d-none d-lg-block">
631 <div class="container py-3">
632 <span class="h2 title-big black-three letter-spacing-sm bolder">${languageUtil.get(locale, "ulteriori-dettagli")}</span>
633 <div class="row mt-4 pt-3">
634 <div class="${colClassSoluzioni}">
635 <ul class="pl-lg-5 list-unstyled greyish-brown big letter-spacing-sm">
636 <#list TestoDettaglioOfferta.getSiblings() as cur_TestoDettaglioOfferta>
637 <#assign colorCheck = cur_TestoDettaglioOfferta.ColoreElencoPuntato.getData() />
638 <#if colorCheck == "verde">
639 <li class="${colorCheck}">${cur_TestoDettaglioOfferta.getData()}</li>
640 <#else>
641 <li>${cur_TestoDettaglioOfferta.getData()}</li>
642 </#if>
643 </#list>
644 </ul>
645 </div>
646 </div>
647 </div>
648 </section>
649
650 <!-- Mobile -->
651 <section id="list" class="white-two-bg pt-5 mobile d-lg-none">
652 <div class="container py-3">
653 <span class="h3 d-block title-big black-three letter-spacing-sm bolder">${languageUtil.get(locale, "ulteriori-dettagli")}</span>
654 <#if urlcustom?contains("hera-caldaia-sicura")>
655 <div class="container">
656 <div class="row col-lg-12 black-three big letter-spacing-sm l15 pr-lg-5 mt-4">
657 <p><strong>Nell'offerta è inclusa* una polizza per i primi 24 mesi che copre i piccoli guasti: invio di un tecnico qualificato manodopera e pezzi di ricambio inclusi, fino a 2 interventi all'anno.</strong></br></p><p>Quali sono i tecnici inclusi?</p>
658 </div>
659 </div>
660 </#if>
661 <div class="row mt-4 pt-3">
662 <div class="${colClassSoluzioni}">
663 <ul class="pl-lg-5 list-unstyled greyish-brown big letter-spacing-sm">
664 <#list TestoDettaglioOfferta.getSiblings() as cur_TestoDettaglioOfferta>
665 <#assign colorCheck = cur_TestoDettaglioOfferta.ColoreElencoPuntato.getData() />
666 <#if colorCheck == "verde">
667 <li class="${colorCheck}">${cur_TestoDettaglioOfferta.getData()}</li>
668 <#else>
669 <li>${cur_TestoDettaglioOfferta.getData()}</li>
670 </#if>
671 </#list>
672 </ul>
673 </div>
674 </div>
675 </div>
676 </section>
677 </#if>
678
679 <#-- ************* Banner Curvo ************* -->
680 <#if SottoscrizioneAdOffertaHeraObbligatoria??>
681 <#if SottoscrizioneAdOffertaHeraObbligatoria.getData() == languageUtil.get(locale, "yesvar")>
682 <section class="waves-banner white-waves-bg pt-5 d-none d-lg-block" id="vuoi-risparmiare-tempo">
683 <div class="container pt-5">
684 <div class="row align-items-left">
685 <div class="col-lg-12">
686 <p class="black-three big letter-spacing-sm">${languageUtil.get(locale, "avvertenza-hera")}</p>
687 <h3 class="x-bigger bolder letter-spacing-sm d-inline-block mr-4 gradient-text pb-2">${languageUtil.get(locale, "non-hai-fornitura")}</h3>
688 <br />
689 <#if isCasa>
690 <a class="btn gradient white mb-2" href="/casa/offerte-luce-gas">
691 <span>${languageUtil.get(locale, "passa-a-hera")}</span>
692 </a>
693 <#else>
694 <a class="btn gradient white mb-2" href="/business/offerte-luce-gas/partite-iva-professionisti">
695 <span>${languageUtil.get(locale, "passa-a-hera")}</span>
696 </a>
697 </#if>
698 </div>
699 </div>
700 </div>
701 </section>
702
703 <!-- Mobile -->
704 <section class="waves-banner white-waves-bg pt-5 mobile d-lg-none" id="vuoi-risparmiare-tempo">
705 <div class="container">
706 <div class="row align-items-left">
707 <div class="col-lg-12">
708 <p class="black-three big letter-spacing-sm">${languageUtil.get(locale, "avvertenza-hera")}</strong></p>
709 <h3 class="x-bigger bolder letter-spacing-sm d-inline-block mr-4 gradient-text pb-2">${languageUtil.get(locale, "non-hai-fornitura")}</h3>
710 <br />
711 <#if isCasa>
712 <a class="btn gradient white mb-2" href="/casa/offerte-luce-gas"><span>${languageUtil.get(locale, "passa-a-hera")}</span></a>
713 <#else>
714 <a class="btn gradient white mb-2" href="/business/offerte-luce-gas/partite-iva-professionisti"><span>${languageUtil.get(locale, "passa-a-hera")}</span></a>
715 </#if>
716 </div>
717 </div>
718 </div>
719 </section>
720 </#if>
721 </#if>
722
723 <#-- ************* Sezione "Documenti e Modulistica" ************* -->
724 <section id="doc-list" class="pt-5 pb-4" >
725 <div class="container py-5">
726 <span class="h3 title-big black-three letter-sspanacing-sm bolder mt-5 pt-3">${languageUtil.get(locale, "documenti-string")}</span>
727 <div class="row" id="moduleRow">
728 <#if DocumentiEModulistica??>
729 <#if DocumentiEModulistica.getData() != "">
730 <#if DocumentiEModulistica.getSiblings()?has_content>
731 <div class="col-md-12">
732 <#list DocumentiEModulistica.getSiblings() as cur_documentoAllegato>
733 <#assign dlFileEntryService = objectUtil("com.liferay.document.library.kernel.service.DLFileEntryServiceUtil") />
734 <#if cur_documentoAllegato.getData() != "">
735 <#assign counterDocAll = 0 />
736 <#list "${cur_documentoAllegato.getData()}"?split("/") as xDocAll>
737 <#if counterDocAll == 2>
738 <#assign groupIdDocAll = xDocAll?number />
739 </#if>
740 <#if counterDocAll == 5>
741 <#assign uuIdDocAll = xDocAll />
742 <#assign counterUuIdDocAll = 0 >
743 <#list "${xDocAll}"?split("?") as xUuIdDocAll>
744 <#if counterUuIdDocAll == 0>
745 <#assign uuIdDocAll = xUuIdDocAll />
746 </#if>
747 <#assign counterUuIdDocAll = counterUuIdDocAll + 1 />
748 </#list>
749 </#if>
750 <#assign counterDocAll = counterDocAll + 1 />
751 </#list>
752 <#assign fileDocAll = dlFileEntryService.getFileEntryByUuidAndGroupId(uuIdDocAll, groupIdDocAll) />
753
754 <#assign firstdocchars=fileDocAll.fileName?keep_before("_") />
755 <#if (firstdocchars != "HC" && firstdocchars != "CMV" &&
756 firstdocchars != "HCNE" && firstdocchars != "HCM" && firstdocchars != "EENE")>
757 <div class="row mb-3">
758 <div class="col-1">
759 <i class="icon-doc gradient-text x-bigger"></i>
760 </div>
761 <div class="col-10 pl-md-0">
762 <a href="${cur_documentoAllegato.getData()}" class="black-three big letter-spacing-sm" target="_blank">
763 ${fileDocAll.fileName?substring(fileDocAll.fileName?index_of('_')+1)?replace('.pdf|.PDF', '', 'r')}
764 </a>
765 </div>
766 </div>
767 <#else>
768
769 <#if (firstdocchars==docCompare1) || (firstdocchars==docCompare2)>
770 <div class="row mb-3">
771 <div class="col-1">
772 <i class="icon-doc gradient-text x-bigger"></i>
773 </div>
774 <div class="col-10 pl-md-0">
775 <a href="${cur_documentoAllegato.getData()}" class="black-three big letter-spacing-sm" target="_blank">
776 <#if fileDocAll.fileName?starts_with("HC_") || fileDocAll.fileName?starts_with("HCM_") || fileDocAll.fileName?starts_with("EENE_")>
777 <#assign indexOfUnderscore = fileDocAll.fileName?index_of('_')>
778 ${fileDocAll.fileName?substring(indexOfUnderscore + 1)}
779 <#else>
780 ${fileDocAll.fileName}
781 </#if>
782 </a>
783 </div>
784 </div>
785 </#if>
786 </#if>
787 </#if>
788 </#list>
789 </div>
790 </#if>
791 </#if>
792 </#if>
793 </div>
794 </div>
795 </section>
796
797 <script>
798 // Get the modal
799 var modal = document.getElementById("myModal");
800 // Get the button that opens the modal
801 var btn = document.getElementById("myBtn");
802 var btnMobile = document.getElementById("myBtn_mobile");
803 // Get the <span> element that closes the modal
804 var span = document.getElementsByClassName("close_offerta")[0];
805
806 if (btn !== null) {
807 // When the user clicks the button, open the modal
808 btn.onclick = function() {
809 modal.style.display = "block";
810 $("#copyLinkButton").prop( "disabled", false );
811 }
812 }
813
814 if (btnMobile !== null) {
815 btnMobile.onclick = function() {
816 modal.style.display = "block";
817 $("#copyLinkButton").prop( "disabled", false );
818 }
819 }
820
821 // When the user clicks on <span> (x), close the modal
822 span.onclick = function() {
823 modal.style.display = "none";
824 $("#copiedToClipboard").remove();
825 }
826
827 // When the user clicks anywhere outside of the modal, close it
828 window.onclick = function(event) {
829 if (event.target == modal) {
830 modal.style.display = "none";
831 }
832 }
833
834 function copyToClipBoard() {
835 /* Get the text field */
836 var copyText = document.getElementById("myInput");
837
838 /* Select the text field */
839 copyText.select();
840
841 /* Copy the text inside the text field */
842 document.execCommand("copy");
843
844 /* Alert the copied text */
845
846 $("#copyLinkButton").after('<div id="copiedToClipboard" class="text-center"><font color="green" size="2">Copiato</font></div>');
847 $("#copyLinkButton").prop( "disabled", true );
848 }
849 $(document).ready(function () {
850 console.log("inizio chiamata");
851
852
853 let nomeofferta;
854 <#if NOMEPRODOTTO?has_content>
855 nomeofferta = "${NOMEPRODOTTO.getData()?trim}";
856 </#if>
857 //console.log("Prima Chiamata Token ok: token = "+ tokenauth);
858 let societa = 'Bologna';
859 <#if tryurl?contains(heracommmarchestring)>
860 societa = "Pesaro" ;
861 <#elseif tryurl?contains(estenergystring)>
862 societa = "Gorizia";
863 </#if>
864 let mercato = "${getterUtil.getString(themeDisplay.getThemeSetting('area'))}";
865 let params = {"nome_offerta": nomeofferta, "mercato" : mercato,"societa":societa,"versione":"","step":"VAS","profilo":"","durata":""}
866 <#if tryurl?contains(heracommmarchestring)>
867 params = Object.assign(params, {"commodity":"Gas"});
868 </#if>
869 $.ajax({
870 type: 'POST',
871 headers: {
872 'Content-Type': 'application/json',
873 },
874 data: JSON.stringify(params),
875 url: "/o/hera-rest/getCollectionList",
876 async: false,
877 success: function(resultData) {
878 console.log("parametri success:",params);
879 var lunghezzaresponse=0;
880 if(resultData.code!=="ERR_405"){
881 if(resultData.response.length != undefined){
882 for (lunghezzaresponse=0;lunghezzaresponse<resultData.response.length;lunghezzaresponse++){
883
884 var tipofile="";
885 var elementocorrenteUUID=resultData.response[lunghezzaresponse].uuid;
886 var elementocorrentedisplayname=resultData.response[lunghezzaresponse].displayName;
887 var elementocorrentedisplaynamewithextension=resultData.response[lunghezzaresponse].displayName+'.'+resultData.response[lunghezzaresponse].attributi.valore;
888
889 var htmltoinsert="<div class='col-md-12'>";
890 htmltoinsert=htmltoinsert+"<div class='row mb-3'>";
891 htmltoinsert=htmltoinsert+"<div class='col-1'>";
892 htmltoinsert=htmltoinsert+"<i class='icon-doc gradient-text x-bigger'></i>";
893 htmltoinsert=htmltoinsert+"</div> <div class='col-10 pl-md-0'>";
894 htmltoinsert=htmltoinsert+"<div onclick='engageoneuuid(\""+elementocorrentedisplaynamewithextension+ "\",\""+ elementocorrenteUUID + "\")' class='pointer black-three big letter-spacing-sm'>"+elementocorrentedisplaynamewithextension+"</div> </div> </div> </div>";
895 $("#moduleRow").prepend(htmltoinsert);
896 console.log("html inserito:",htmltoinsert);
897 }
898 }else{
899 var tipofile="";
900 var elementocorrenteUUID=resultData.response.uuid;
901 var elementocorrentedisplayname=resultData.response.displayName;
902 var elementocorrentedisplaynamewithextension=resultData.response.displayName+'.'+resultData.response.attributi.valore;
903
904 var htmltoinsert="<div class='col-md-12'>";
905 htmltoinsert=htmltoinsert+"<div class='row mb-3'>";
906 htmltoinsert=htmltoinsert+"<div class='col-1'>";
907 htmltoinsert=htmltoinsert+"<i class='icon-doc gradient-text x-bigger'></i>";
908 htmltoinsert=htmltoinsert+"</div> <div class='col-10 pl-md-0'>";
909 htmltoinsert=htmltoinsert+"<div onclick='engageoneuuid(\""+tokenauth+ "\",\""+elementocorrentedisplaynamewithextension+ "\",\""+ elementocorrenteUUID + "\")' class='pointer black-three big letter-spacing-sm'>"+elementocorrentedisplaynamewithextension+"</div> </div> </div> </div>";
910 $("#moduleRow").prepend(htmltoinsert);
911 console.log("html inserito:",htmltoinsert);
912 }
913 }else{
914 console.log("Collection non trovata");
915 console.log("parametri else",params);
916
917 }
918
919 }
920 });
921
922 });
923 </script>