La raccolta nel tuo comune
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing: ==> themeDisplay.getURLCurrent()?split('?comune=')[1] [in template "20099#20135#850909" at line 261, column 19] ---- Tip: It's the final [] step that caused this error, not those before it. ---- 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: #assign QScomune = themeDisplay.getUR... [in template "20099#20135#850909" at line 261, column 1] ----
1<#assign colorbackground="" />
2<#if ColoreSezione.getData() !="" && ColoreSfondo.getData()!="#" && ColoreSfondo.getData()!="#00000">
3<#assign colorbackground=ColoreSfondo.getData() />
4<#elseif ColoreSezione.getData() !="">
5<#assign colorbackground=ColoreSezione.getData() />
6<#else>
7<#assign colorbackground=ColoreSfondo.getData() />
8</#if>
9
10
11<#function convertBackgroundColor color>
12 <#return color>
13</#function>
14
15<#function convertTextColor color classText>
16 <#assign normalizedColor = color?lower_case>
17 <#if normalizedColor == "#419fd2">
18 <#return "black-important">
19 <#elseif normalizedColor == "#429868">
20 <#return "black-important">
21 <#elseif normalizedColor == "#00a19b">
22 <#return "black-important">
23 <#else>
24 <#return classText>
25 </#if>
26</#function>
27
28<#function convertIconColor color classText>
29 <#assign normalizedColor = color?lower_case>
30 <#if normalizedColor == "#419fd2">
31 <#return "black">
32 <#elseif normalizedColor == "#429868">
33 <#return "black">
34 <#elseif normalizedColor == "#00a19b">
35 <#return "black">
36 <#else>
37 <#return classText>
38 </#if>
39</#function>
40
41
42<#assign colorBackgroundAccessibility= convertBackgroundColor(colorbackground) />
43<#assign colorTextAccessibility= convertTextColor(colorbackground, ColoreTesto.getData()) />
44<#assign colorIconAccessibility= convertIconColor(colorbackground, ColoreTesto.getData()) />
45
46<#assign prefUrlCondividi=themeDisplay.getPortalURL() urlcustom=themeDisplay.getURLCurrent()?keep_before("?")
47currentURL=themeDisplay.getURLCurrent() assistenzaUrl="/assistenza" ambienteUrl="/ambiente" mobileMenuClass="" />
48
49<#if currentURL?contains("assistenza")>
50<script>
51var checkClassesInterval = setInterval(function() {
52
53 var elements = $("a.d-block.col-10.greyish-brown.normal2.px-2.py-2");
54
55 elements.each(function() {
56 if ($(this).text().trim() === "Tariffe e Consumi") {
57 $(this).attr('class', 'd-block col-10 greyish-brown normal2 px-2 py-2');
58 clearInterval(checkClassesInterval);
59 }
60 });
61}, 100);
62
63setTimeout(function() {
64 clearInterval(checkClassesInterval);
65}, 1000);
66</script>
67</#if>
68
69<style>
70 div#collapse-menu-laterale {
71 background: white;
72 margin: 0!Important;
73}
74
75
76div#collapse-menu-laterale li {
77 list-style: none;
78}
79
80
81 .select-menu-container.mt-2.bg-white {
82 padding: 10px;
83 font-size: 20px;
84 color: black !important;
85}
86div#collapse-menu-laterale .icon-chevron-right:before, .icon-chevron-down:before {
87 color: black !important;
88 font-size: 20px;
89}
90 .icon-chevron-right:before,
91 .icon-chevron-down:before {
92 //color: ${colorbackground};
93 color: black;
94 font-size: 20px;
95 }
96 .modal.show .modal-dialog {
97 /*width: 60%;*/
98 }
99 .header-breadcrumb li.text-decoration-underline::after{
100 content: '>';
101 display: inline-block;
102 margin-right: 7px;
103 }
104 .testatabreadcrumb .offerta-modal {
105 z-index: 100;
106 display: block;
107 position: absolute;
108 height: max-content;
109 width: max-content;
110 right: 85px;
111 top: 80px;
112 box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
113 margin: 3px;
114 }
115 @media (max-width: 991px) {
116 .testatabreadcrumb .offerta-modal {
117 right: 30px;
118 top: 70px;
119 }
120 }
121 .testatabreadcrumb .offerta-modal-content {
122 background-color: #fefefe;
123 margin: auto;
124 padding: 20px;
125 border-radius: 0.75rem !important;
126 }
127 .testatabreadcrumb .close_offerta {
128 color: #aaa;
129 float: right;
130 font-size: 28px;
131 font-weight: bold;
132 }
133 .testatabreadcrumb .close_offerta:hover, .testatabreadcrumb .close_offerta:focus {
134 color: #000;
135 text-decoration: none;
136 cursor: pointer;
137 }
138 .testatabreadcrumb .close-icon {
139 position: absolute !important;
140 right: 20px;
141 top: 2px;
142 }
143 .testatabreadcrumb .social__wrapper {
144 list-style-type: none;
145 padding-left: 0;
146 }
147 .testatabreadcrumb .social__icon {
148 border: none;
149 border-radius: 50%;
150 padding: 8px;
151 width: 40px;
152 height: 40px;
153 cursor: pointer;
154 }
155 .testatabreadcrumb .social__title {
156 letter-spacing: 0.5px;
157 font-weight: 600;
158 }
159 .testatabreadcrumb .social__iconFacebook {
160 background-color: #3b5998;
161 color: #fff;
162 }
163 .testatabreadcrumb .social__iconLinkedIn {
164 background-color: #0e76a8;
165 color: #fff;
166 }
167 .testatabreadcrumb .social__iconTwitter {
168 background-color: black;
169 color: #fff;
170 }
171 .testatabreadcrumb .social__iconMail {
172 background-color: #018982;
173 color: #fff;
174 }
175 .testatabreadcrumb .social__iconCopyLink {
176 background-color: #018982;
177 color: #fff;
178 }
179 .testatabreadcrumb .social__iconWhatsapp {
180 background-color: #25d366;
181 color: #fff;
182 }
183 .testatabreadcrumb .fa-whatsapp:before {
184 content: "\f232";
185 }
186 .testatabreadcrumb .social__titleWrapper {
187 border: 0;
188 padding: 0;
189 background-color: transparent;
190 color: #018982;
191 cursor: pointer;
192 min-width: 81px;
193 }
194</style>
195
196<#assign completeUrl=prefUrlCondividi + urlcustom />
197
198<script>
199
200 $(document).ready(function () {
201 $('#select-menu').click(function () {
202 if ($('#root-arrow').hasClass('icon-chevron-down')) {
203 $('#root-arrow').removeClass('icon-chevron-down');
204 $('#root-arrow').addClass('icon-chevron-up');
205 $('#select-menu .select-menu-container').addClass('open');
206 }
207 else {
208 $('#root-arrow').removeClass('icon-chevron-up');
209 $('#root-arrow').addClass('icon-chevron-down');
210 setTimeout(function () {
211 $('#select-menu .select-menu-container').removeClass('open');
212 }, 500);
213 }
214 });
215 });
216</script>
217<#assign nomepagina=themeDisplay.getLayout().getName(locale) />
218<#assign title=.vars['reserved-article-title'].data vocabularyId=0
219journalArticleServiceUtil=objectUtil("com.liferay.journal.service.JournalArticleServiceUtil")
220assetVocabularyServiceUtil=objectUtil("com.liferay.asset.kernel.service.AssetVocabularyLocalServiceUtil")
221vocabulariesList=assetVocabularyServiceUtil.getGroupVocabularies(themeDisplay.getScopeGroupId())
222journalArticle=journalArticleServiceUtil.getArticle(getterUtil.getLong(scopeGroupId),
223.vars['reserved-article-id'].data)
224assetCategoryServiceUtil=objectUtil("com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil")
225journalArticleCategories=assetCategoryServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",
226journalArticle.getResourcePrimKey()) nomecomune=languageUtil.get(locale, "comune-generico" )
227comuniVar=languageUtil.get(locale, "COMUNI" ) yesVar=languageUtil.get(locale, "yesVar" )
228stringacondividi=languageUtil.get(locale, "stringacondividi" )
229stringachiusura=getterUtil.getString(themeDisplay.getThemeSetting("stringa-chiusura"))
230gruppoUrl=languageUtil.get(locale, "gruppo-internal-url" )
231gruppoEngUrl=languageUtil.get(locale, "gruppo-internal-eng-url" ) chiSiamoName=languageUtil.get(locale, "chi-siamo"
232) chiSiamoEngName=languageUtil.get(locale, "chi-siamo-eng" )
233offerteServiziUrl=languageUtil.get(locale, "offerte-internal-url" )
234assistenzaUrl=languageUtil.get(locale, "assistenza-internal-url" )
235assistenzaAmbienteUrl=languageUtil.get(locale, "ambiente-internal-url" ) fornitoriUrl="/fornitori"
236dlgblockVar="d-lg-block" trueVar="true" prefUrlCondividi=themeDisplay.getPortalURL()
237urlcustom=themeDisplay.getURLCurrent()?keep_before("?") />
238<#assign completeUrl=prefUrlCondividi + urlcustom />
239<#list vocabulariesList as vocabulary>
240<#assign vocabularyName=vocabulary.getName() />
241<#if vocabularyName==comuniVar>
242<#assign vocabularyId=vocabulary.getVocabularyId() />
243</#if>
244</#list>
245<#assign listcomuni=[] />
246<#list journalArticleCategories as category>
247<#if category.vocabularyId==vocabularyId>
248<#assign listcomuni=listcomuni + [category.name] />
249</#if>
250</#list>
251<#list listcomuni as comune>
252<#if (listcomuni?size gt 0)>
253<#assign nomecomune=nomecomune +"@" + comune />
254<#else>
255<#assign nomecomune=comune />
256</#if>
257</#list>
258<#assign selectedComune='' />
259<#if urlcustom?contains('/tariffa-puntuale') || urlcustom?contains('/ambiente/tari') || urlcustom?contains('/tributi-e-tariffe/tari') || urlcustom?contains('/tcp') || urlcustom?contains('/la-raccolta-nel-tuo-comune') || urlcustom?contains('/pulizia-strade')>
260<#if themeDisplay.getURLCurrent()?matches('.*comune=.*')>
261<#assign QScomune=themeDisplay.getURLCurrent()?split('?comune=')[1]?split('&')[0]/>
262<#assign lista = assetCategoryServiceUtil.getCategories("com.liferay.portal.kernel.model.layout", themeDisplay.getLayout().getPrimaryKey())>
263<#list lista as comune>
264<#if heraContributorLocalService.normalize(comune.getName()) == heraContributorLocalService.normalize(QScomune)?upper_case>
265<#assign selectedComune=comune.getName()?capitalize />
266<#break>
267</#if>
268</#list>
269<#elseif request.session.getAttribute('selectedComune')??>
270<#assign selectedComune=request.session.getAttribute('selectedComune')?capitalize />
271</#if>
272</#if>
273
274<#assign verifycomunemenu_class='' />
275<#if urlcustom?contains('/assistenza') || urlcustom?contains('/offerte-e-servizi/casa/ambiente')>
276<#assign verifycomunemenu_class='verifycomunemenu' />
277</#if>
278
279
280
281<input type="hidden" name="nomecomune" value="${nomecomune}" />
282<div class="testatabreadcrumb bannershape position-relative" style="background-color:${colorBackgroundAccessibility}">
283 <div class="container">
284 <div class="row">
285 <div class="col-lg-4 col-md-12">
286 <#assign actualUrl=themeDisplay.getLayout().getName(locale) breadcrumbName="" breadcrumbURLS=""
287 breadcrumb="" pageName="" pageNameUrl="" fulllayout="" breadcrumbNames=[] breadcrumbURLS=[]
288 idnumber=0 viewinmenu=true brothersviewmenu=[] currentindex=0 breadcrumbURL="" />
289 <#list themeDisplay.getLayout().getAncestors() as ancestor>
290 <#if (ancestor?index==0)>
291 <#assign
292 fulllayout=ancestor
293 publiclayout=fulllayout.isPublicLayout()
294 breadcrumbName=ancestor.getName(locale) breadcrumbURL=ancestor.getFriendlyURL()
295 breadcrumbNames +=[ancestor.getName(locale)]
296 />
297 </#if>
298 </#list>
299 <#assign breadcrumbNames=breadcrumbNames?reverse />
300 <#assign ancestorIndex=1 />
301 <#if breadcrumbURL?contains(gruppoUrl)>
302 <#if breadcrumbURL?contains(fornitoriUrl)>
303 <#assign ancestorIndex=3 />
304 <#else>
305 <#assign ancestorIndex=2 />
306 </#if>
307 <#elseif breadcrumbURL?contains(offerteServiziUrl)>
308 <#assign ancestorIndex=3 />
309 <#elseif breadcrumbURL?contains(assistenzaUrl)>
310 <#if breadcrumbURL?contains(assistenzaAmbienteUrl)>
311 <#assign ancestorIndex=3 />
312 <#else>
313 <#assign ancestorIndex=2 />
314</#if>
315</#if>
316<#list themeDisplay.getLayout().getAncestors()?reverse as ancestor>
317<#if (ancestor?index==ancestorIndex)>
318<#assign fulllayout=ancestor />
319<#break />
320</#if>
321</#list>
322<#if fulllayout !="">
323<#assign pageName=fulllayout.getName(locale) pageNameUrl=fulllayout.getFriendlyURL() />
324</#if>
325<#if TitoloBanner?? && (TitoloBanner.getData()?lower_case?trim==chiSiamoName?lower_case?trim ||
326TitoloBanner.getData()?lower_case?trim==chiSiamoEngName?lower_case?trim)>
327<#list fulllayout.getChildren() as ancestor>
328<#if ancestor.getName(locale)?lower_case?trim==chiSiamoName?lower_case?trim ||
329ancestor.getName(locale)?lower_case?trim==chiSiamoEngName?lower_case?trim>
330<#assign fulllayout=ancestor pageName=fulllayout.getName(locale)
331pageNameUrl=fulllayout.getFriendlyURL() />
332<#break />
333</#if>
334</#list>
335</#if>
336<#if MostraMenuLaterale.getData()==dlgblockVar>
337<#list fulllayout.getChildren() as children>
338<#assign brotherschildnames=[] />
339<#assign brotherschildurls=[] />
340<#assign brothersviewmenu +=[children.getExpandoBridge().getAttribute("VisualizzabileInMenu")
341] />
342<#list children.getChildren() as brotherschild>
343<#assign brotherschildnames +=[brotherschild.getName(locale)] brotherschildurls
344+=[brotherschild.getFriendlyURL()] />
345</#list>
346<#assign breadcrumbURL=layout.getGroup().getDisplayURL(themeDisplay, false) +
347children.getName(locale) />
348<#assign
349assetVocabularyServiceUtil=objectUtil("com.liferay.asset.kernel.service.AssetVocabularyLocalServiceUtil")
350pageVocabularies=assetVocabularyServiceUtil.getGroupVocabularies(themeDisplay.getScopeGroupId(), "COMUNI"
351, -1, -1, null)
352assetCategoryServiceUtil=objectUtil("com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil")
353pageCategories=assetCategoryServiceUtil.getCategories("com.liferay.portal.kernel.model.layout",
354children.getPrimaryKey()) cssPageCategories="" pageVocabularyId=0 />
355<#if pageVocabularies?size gt 0>
356<#list pageVocabularies as pageVocabulary>
357<#assign pageVocabularyId=pageVocabulary.getVocabularyId() />
358</#list>
359<#if pageCategories?size gt 0>
360<#list pageCategories as pageCategory>
361<#if pageCategory.getVocabularyId()==pageVocabularyId>
362<#assign cssPageCategories +="@" + pageCategory.getName() />
363</#if>
364</#list>
365</#if>
366</#if>
367<#if brotherschildnames?size !=0>
368<#if brothersviewmenu[currentindex]?c==trueVar>
369<#assign
370isArrowDown=""
371isItemOnCurrentParentText = ""
372singleItemName = children.getName(locale)
373currentPageName = themeDisplay.getLayout().getName(locale)
374shouldFilterOnChildItem = "true"
375menuStyle=""
376/>
377<#if currentPageName?lower_case==singleItemName?lower_case>
378<#assign
379menuStyle="font-weight: 600"
380iconChevron="icon-chevron-down"
381collapse="collapse show"
382shouldFilterOnChildItem = "false"
383/>
384</#if>
385<#if shouldFilterOnChildItem = "true">
386<#list breadcrumbNames as breadcrumbName>
387<#if breadcrumbName == singleItemName>
388<#assign
389isItemOnCurrentParentText = "true"
390/>
391</#if>
392</#list>
393
394<#if isItemOnCurrentParentText == "true">
395<#list children.getChildren() as brotherschild>
396<#if actualUrl==brotherschild.getName(locale) || themeDisplay.getLayout().getName(locale) == brotherschild.getName(locale)>
397<#assign iconChevron="icon-chevron-down" collapse="collapse show" isArrowDown="true"/>
398</#if>
399</#list>
400</#if>
401
402<#if isArrowDown != "true">
403<#assign menuStyle="" iconChevron="icon-chevron-right" collapse="collapse" />
404</#if>
405</#if>
406<#assign breadcrumbURLLink="<li><div class=\" dropdown px-2 py-2 ${verifycomunemenu_class}
407 ${cssPageCategories}\" data-menu=\"${children.getName(locale)}\">
408 <div class='row'>
409 <div class='col-10'><a class='d-inline pointer greyish-brown normal2'
410 style='${menuStyle}' href='" + children.getFriendlyURL() + "'>"
411 breadcrumbURLLink += children.getName(locale) + "</a></div>"
412 />
413 <#-- breadcrumbURLLink +="<div class='col-1'><div id='submenu_" + idnumber
414 + "' class=' pointer ${iconChevron} dropdown-toggle d-inline greyish-brown normal2' role='button' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'></div>"
415 breadcrumbURLLink
416 +="<div style='top:-30px!important;' class='ml-4 dropdown-menu white' labelledby='submenu_"
417 + idnumber + "'>" idnumber=idnumber+1 -->
418 <#assign idArrowSubmenu=children.getName(locale)?replace(" ", "
419 -")?replace(",", "" )?replace(":", "" )?lower_case?trim
420 idnumber=idnumber+1 show_submenu=false />
421 <#list children.getChildren() as brotherschild>
422 <#if
423 brotherschild.getExpandoBridge().getAttribute("VisualizzabileInMenu")>
424 <#if
425 brotherschild.getExpandoBridge().getAttribute("VisualizzabileInMenu")?c==trueVar>
426 <#assign show_submenu=true />
427 </#if>
428 </#if>
429 <#if show_submenu>
430 <#break />
431 </#if>
432</#list>
433<#if show_submenu>
434<#assign breadcrumbURLLink
435+="<div class='col-1' ><div class='arrow-submenu pointer ${iconChevron} dropdown-toggle d-inline greyish-brown normal2' role='button' tabindex='0' aria-label='Espandi ${children.getName(locale)}' data-toggle='collapse' id='arrow-submenu-${idArrowSubmenu}' data-target='#submenu-${idnumber}' aria-haspopup='true' aria-expanded='false'></div></div>"
436breadcrumbURLLink
437+="<div class='col-11 pl-4 ${collapse}' id='submenu-" + idnumber
438 + "'><ul class='list-unstyled' style='list-style: none; padding: 0;'>" />
439 <#list children.getChildren() as brotherschild>
440 <#if
441 brotherschild.getExpandoBridge().getAttribute("VisualizzabileInMenu")>
442 <#assign
443 assetVocabularyServiceUtil=objectUtil("com.liferay.asset.kernel.service.AssetVocabularyLocalServiceUtil")
444 pageVocabularies=assetVocabularyServiceUtil.getGroupVocabularies(themeDisplay.getScopeGroupId(), "COMUNI"
445 , -1, -1, null)
446 assetCategoryServiceUtil=objectUtil("com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil")
447 pageCategories=assetCategoryServiceUtil.getCategories("com.liferay.portal.kernel.model.layout",
448 brotherschild.getPrimaryKey()) cssPageCategories=""
449 pageVocabularyId=0 />
450 <#if pageVocabularies?size gt 0>
451 <#list pageVocabularies as pageVocabulary>
452 <#assign
453 pageVocabularyId=pageVocabulary.getVocabularyId() />
454</#list>
455 <#if pageCategories?size gt 0>
456 <#list pageCategories as pageCategory>
457 <#if
458 pageCategory.getVocabularyId()==pageVocabularyId>
459 <#assign cssPageCategories +="@" +
460 pageCategory.getName() />
461</#if>
462</#list>
463</#if>
464</#if>
465<#assign isItemOnCurrentParentText = "false" />
466<#list breadcrumbNames as breadcrumbName>
467<#if breadcrumbName == singleItemName>
468<#assign
469isItemOnCurrentParentText = "true"
470/>
471</#if>
472</#list>
473<#assign menuStyle="" />
474<#if actualUrl==brotherschild.getName(locale) && isItemOnCurrentParentText == "true">
475<#assign menuStyle="font-weight: 600" />
476</#if>
477<#assign brotherschildname=brotherschild.getName(locale)
478brotherschildurl=brotherschild.getFriendlyURL()
479breadcrumbURLLink +="<li><a class=\" d-block pointer
480 greyish-brown normal2 px-1 py-1 ${verifycomunemenu_class}
481 ${cssPageCategories}\" data-menu=\"${children.getName(locale)}\" style='${menuStyle}'
482 href='" + brotherschildurl + "'>" +
483 brotherschildname + "</a></li>"
484/>
485</#if>
486</#list>
487<#else>
488<#assign breadcrumbURLLink
489+="<div class='col-11 pl-4 ${collapse}' id='submenu-" + idnumber
490 + "'><ul class='list-unstyled' style='list-style: none; padding: 0;'>" />
491</#if>
492 <#assign breadcrumbURLLink +="</ol></div></div></div></li>" />
493<#assign breadcrumb=breadcrumb + breadcrumbURLLink />
494</#if>
495<#else>
496<#if brothersviewmenu[currentindex]?c==trueVar>
497<#assign menuStyle="" />
498<#if actualUrl==children.getName(locale)>
499<#assign menuStyle="font-weight: 600" />
500</#if>
501<#assign breadcrumbURLLink="<li><a class=\" d-block col-10 greyish-brown
502 normal2 px-2 py-2 verifycomunemenu ${cssPageCategories}\"
503 data-menu=\"${children.getName(locale)}\" style='${menuStyle}' href='" + children.getFriendlyURL() + "'>" +
504 children.getName(locale) + "</a></li>"
505breadcrumb = breadcrumb + breadcrumbURLLink
506/>
507</#if>
508</#if>
509<#assign currentindex=currentindex+1 />
510</#list>
511</#if>
512<#assign breadcrumbBuckup=breadcrumb />
513<div class="container sidemenucontent ${MostraMenuLaterale.getData()}">
514 <div class="tile" id="menu-laterale">
515 <div class="tile-content">
516 <div class="tilewrapper">
517 <nav aria-label="Navigazione ${pageName}">
518 <ul class='list-unstyled' style="list-style: none; padding: 0;">
519 <li>
520 <a class="${colorTextAccessibility}" href="${pageNameUrl}">
521 <p class="bolder greyish-brown normal2 px-2 text-uppercase">${pageName}</p>
522 </a>
523 <hr class="my-3 mx-2">
524 </li>
525
526 ${breadcrumb}
527 </ul>
528 </nav>
529 </div>
530 </div>
531 </div>
532</div>
533</div>
534<div class="col-lg-7 col-md-10 col-sm-10 col-xs-8">
535 <#assign actualUrl="<li class='actualurlbread ${colorTextAccessibility}'>" +
536 themeDisplay.getLayout().getName(locale) + "</li>" breadcrumbNames=[] breadcrumbURLS=[]
537 rightAngleBracket="<span class='right-angle-bracket ${colorTextAccessibility}'> > </span>"
538 breadcrumb="" />
539 <#list themeDisplay.getLayout().getAncestors() as ancestor>
540 <#assign breadcrumbNames +=[ancestor.getName(locale)] breadcrumbURLS
541 +=[ancestor.getFriendlyURL()] />
542</#list>
543<#assign breadcrumbNames=breadcrumbNames?reverse breadcrumbURLS=breadcrumbURLS?reverse />
544<#list breadcrumbNames as breadcrumbName>
545<#if breadcrumbName !="Super Homepage">
546<#assign menuStyle="" />
547<#if actualUrl==breadcrumbName>
548<#assign menuStyle="font-weight: 600" />
549</#if>
550
551<#assign textBreadcrumbClass = convertTextColor(colorbackground, ColoreTesto.getData()) />
552<#assign breadcrumbIndex=breadcrumbName?index breadcrumbURL=breadcrumbURLS[breadcrumbIndex]
553breadcrumbURL=layout.getGroup().getDisplayURL(themeDisplay, false) + breadcrumbURL
554breadcrumbURLLink="<li class='text-decoration-underline'><a class='" + textBreadcrumbClass +" pr-2' style='${menuStyle}' href='" + breadcrumbURL + "'>" + breadcrumbName + "</a></li>" breadcrumb=breadcrumb + breadcrumbURLLink/>
555<#if (ancestorIndex + 1)==breadcrumbName?index>
556<#assign idSubmenuArrow=breadcrumbName?string?replace(" ", " -")?replace(",", "" )?replace(":", ""
557)?lower_case?trim />
558<script>
559 var id = String("${idSubmenuArrow}");
560 var arrowId = "#arrow-submenu-" + id;
561 var submenu="#submenu-" + id;
562 if($(submenu) && $(submenu).length > 0) {
563 $(submenu).click(() => {
564 if ($(submenu).hasClass('icon-chevron-right')) {
565 $(submenu).removeClass('icon-chevron-right');
566 $(submenu).addClass('icon-chevron-down');
567 } else {
568 $(submenu).removeClass('icon-chevron-down');
569 $(submenu).addClass('icon-chevron-right');
570 }
571 });
572 }
573
574</script>
575</#if>
576</#if>
577</#list>
578<#assign breadcrumb=breadcrumb + actualUrl />
579<div class="pb-4">
580 <h1 id="pagename" class="${colorTextAccessibility} title-bigger bold pt-4 pt-md-2 pt-lg-5 mb-2">
581 ${TitoloBanner.getData()}
582 <#if selectedComune??>
583 ${selectedComune}
584 </#if>
585 </h1>
586 <#if TestoAggiuntivo??>
587 <#if TestoAggiuntivo.getData() !="">
588 <p class="${colorTextAccessibility} normal bold">${TestoAggiuntivo.getData()}</p>
589</#if>
590</#if>
591<#if (MostraBreadcrumb.getData()==yesVar)>
592<nav class="header-breadcrumb ${colorTextAccessibility}" aria-label="Percorso di navigazione"><ol class="d-flex flex-wrap" style='list-style: none; padding: 0;'>${breadcrumb}
593
594 <#if selectedComune??>
595 <span class="${colorTextAccessibility}">${selectedComune}</span>
596</#if>
597 </ol>
598</nav>
599
600</#if>
601</div>
602</div>
603<div class="col-lg-1 col-md-2 col-sm-2 col-xs-4">
604 <div class="text-center float-right">
605 <div class="position-relative">
606 <button id="myButtonShare" class="pointer bg-transparent border-0" style="display:none;" >
607 <p class="${ColoreTesto.getData()} title-bigger bold pt-lg-5 pt-4"></p>
608 <img alt=""
609 src="/o/gruppohera-theme/images/share-heart-${colorIconAccessibility}.png" />
610 <p class="sharetext black">${stringacondividi}</p>
611 </button>
612 <div id="myModalBreadcrumb" class="offerta-modal" style="min-width: 240px; display: none">
613 <div class="offerta-modal-content position-relative">
614 <div class="float-right">
615 <span id="close_offerta" class="close_offerta text-right close-icon">×</span>
616 </div>
617 <p class="h4 text-left mb-3 greyish-brown">Condividi</p>
618 <ul class="social__wrapper">
619 <li class="d-flex align-items-center mb-2">
620 <div class="mr-2" style="width: 40px; height: 40px;"><span
621 class="social__icon d-flex align-items-center justify-content-center icon-facebook social__iconFacebook"></span>
622 </div><a class="h6 mb-0 greyish-brown" id="facebook_share" href=""
623 target="_blank" style="font-size: 1.1rem;color: #018982;">Facebook</a>
624 </li>
625 <li class="d-flex align-items-center mb-2">
626 <div class="mr-2" style="width: 40px; height: 40px;"><span
627 class="social__icon d-flex align-items-center justify-content-center icon-linkedin social__iconLinkedIn"></span>
628 </div><a class="h6 mb-0 greyish-brown position-relative" id="linkedin_share"
629 href="" target="_blank" style="font-size: 1.1rem;color: #018982;">
630 LinkedIn
631 <div style="opacity: 0;top:0;" class="position-absolute w-100">
632 <script src="https://platform.linkedin.com/in.js"
633 type="text/javascript">lang: it_IT</script>
634 <script type="IN/Share"
635 data-url="https://www.gruppohera.it${currentURL}"></script>
636 </div>
637 </a>
638 </li>
639 <li class="d-flex align-items-center mb-2">
640 <div class="mr-2" style="width: 40px; height: 40px;"><img src="/documents/688182/0/logo-white-x.png/82ded04f-f3ee-3f23-e167-ed8a0cc95913?t=1707295919187"
641 class="social__icon d-flex align-items-center justify-content-center social__iconTwitter"></img>
642 </div><a class="h6 mb-0 greyish-brown" id="twitter_share" href=""
643 target="_blank" style="font-size: 1.1rem;color: #018982;">X</a>
644 </li>
645 <li class="d-flex align-items-center mb-2">
646 <div class="mr-2" style="width: 40px; height: 40px;">
647 <span
648 class="social__icon d-flex align-items-center justify-content-center social__iconWhatsapp text-left">
649 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"
650 fill="#fff" viewBox="0 0 24 24">
651 <path
652 d="M.057 24l1.687-6.163c-1.041-1.804-1.588-3.849-1.587-5.946.003-6.556 5.338-11.891 11.893-11.891 3.181.001 6.167 1.24 8.413 3.488 2.245 2.248 3.481 5.236 3.48 8.414-.003 6.557-5.338 11.892-11.893 11.892-1.99-.001-3.951-.5-5.688-1.448l-6.305 1.654zm6.597-3.807c1.676.995 3.276 1.591 5.392 1.592 5.448 0 9.886-4.434 9.889-9.885.002-5.462-4.415-9.89-9.881-9.892-5.452 0-9.887 4.434-9.889 9.884-.001 2.225.651 3.891 1.746 5.634l-.999 3.648 3.742-.981zm11.387-5.464c-.074-.124-.272-.198-.57-.347-.297-.149-1.758-.868-2.031-.967-.272-.099-.47-.149-.669.149-.198.297-.768.967-.941 1.165-.173.198-.347.223-.644.074-.297-.149-1.255-.462-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.521.151-.172.2-.296.3-.495.099-.198.05-.372-.025-.521-.075-.148-.669-1.611-.916-2.206-.242-.579-.487-.501-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.709.306 1.263.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.719 2.006-1.413.248-.695.248-1.29.173-1.414z" />
653 </svg>
654 </span>
655 </div>
656 <a class="h6 mb-0 greyish-brown" id="whatsApp_social" href="" target="_blank"
657 style="font-size: 1.1rem;color: #018982;">WhatsApp</a>
658 </li>
659 <li class="d-flex align-items-center mb-2">
660 <div class="mr-2" style="width: 40px; height: 40px;"><span
661 class="social__icon d-flex align-items-center justify-content-center icon-mail social__iconMail"></span>
662 </div><a class="h6 mb-0 greyish-brown"
663 href="https://mail.google.com/mail/?view=cm&fs=1&to=someone@example.com&su=Gruppo Hera&body=https://www.gruppohera.it${themeDisplay.getLayout().getFriendlyURL()}"
664 target="_blank" style="font-size: 1.1rem;color: #018982;">Email</a>
665 </li>
666 <li class="d-flex align-items-center mb-2">
667 <div class="mr-2" style="width: 40px; height: 40px;"><span
668 class="social__icon d-flex align-items-center justify-content-center icon-link social__iconCopyLink"></span>
669 </div><button
670 class="h6 mb-0 greyish-brown pointer bg-transparent border-0 social__titleWrapper text-left"
671 id="copyShareLinkButton" target="_blank"
672 style="font-size: 1.1rem;color: #018982;" onclick="copyShareLink()">Copia il
673 link</button>
674 </li>
675 </ul>
676 </div>
677 </div>
678 </div>
679 </div>
680</div>
681</div>
682</div>
683</div>
684
685<#if currentURL?contains(assistenzaUrl)>
686<#if currentURL?contains(ambienteUrl)>
687<#assign mobileMenuClass="selectMenu__absolutePosition mb-4" />
688<#else>
689<#assign mobileMenuClass="" />
690</#if>
691<section id="assistenzamenu">
692 <div class="d-block d-lg-none mx-auto w-sm-75 w-md-100 px-4 ${mobileMenuClass} pt-4 pt-md-0">
693 <a id="select-menu" data-toggle="collapse" href="#collapse-menu-laterale" role="button" aria-expanded="true"
694 aria-controls="collapse-menu-laterale">
695 <div class="select-menu-container mt-2 bg-white">
696 <span class="text-uppercase color-gray">Assistenza</span>
697 <div id="root-arrow" class="icon-chevron-down root-arrow float-right mr-2 h-100"
698 style="/*writing-mode: vertical-lr;*/"></div>
699 </div>
700 </a>
701 <div class="collapse mx-4" id="collapse-menu-laterale">
702 <div class="py-3">
703 <div class="tilewrapper pl-5 pr-2">
704 ${breadcrumbBuckup}
705 </div>
706 </div>
707 </div>
708 </div>
709</section>
710</#if>
711<script>
712 $(document).ready(function() {
713// Controlla il testo dell'elemento con la classe verifycomunemenu
714 if ($('.verifycomunemenu').text().trim() === 'Tariffe e Consumi') {
715 // Rimuovi la classe verifycomune
716 $('.verifycomunemenu').removeClass('verifycomunemenu');
717 }
718});
719
720 var shareModal = document.getElementById("myShareModal");
721 var shareBtn = document.getElementById("myShareBtn");
722 var shareCloseSpan = document.getElementsByClassName("my-share-close")[0];
723 var shareCloseBtn = document.getElementsByClassName("my-share-close-btn")[0];
724
725 if (shareBtn !== null) {
726 shareBtn.onclick = function() {
727 shareModal.style.display = "block";
728 $( "#copyShareLinkButton" ).prop( "disabled", false );
729 }
730 }
731
732 if (shareCloseSpan!==undefined && shareCloseSpan!="" && shareCloseSpan!== null){
733 shareCloseSpan.onclick = function() {
734 shareModal.style.display = "none";
735 $("#myShareCopiedToClipboard").remove();
736 }
737
738 shareCloseBtn.onclick = function() {
739 shareModal.style.display = "none";
740 $("#myShareCopiedToClipboard").remove();
741 $(".social__titleWrapper").text("Copia il link");
742 $(".social__titleWrapper").prop("disabled", false);
743 }
744 }
745
746 /* copy share link event */
747 function copyShareLink() {
748 navigator.clipboard.writeText(window.location.href);
749 $(".social__titleWrapper").text("Link Copiato!");
750 $(".social__titleWrapper").prop("disabled", true);
751 };
752
753 /* share social medial modal events */
754 var modal = document.getElementById("myModalBreadcrumb");
755 var btnShare = document.getElementById("myButtonShare");
756 var span = document.getElementById("close_offerta");
757
758 if (btnShare !== undefined && btnShare !== null) {
759 btnShare.onclick = function () {
760 console.log("cliccato")
761 modal.style.display = "block";
762 $("#copyLinkButton").prop("disabled", false);
763 }
764 }
765
766 // When the user clicks on <span> (x), close the modal
767 if (span !== undefined && span !== null) {
768 span.onclick = function () {
769 modal.style.display = "none";
770 $("#copiedToClipboard").remove();
771 $(".social__titleWrapper").text("Copia il link");
772 $(".social__titleWrapper").prop("disabled", false);
773 }
774 }
775 /* --share social medial modal events-- */
776
777 window.onclick = function(event) {
778 if (event.target == shareModal) {
779 shareModal.style.display = "none";
780 }
781 }
782
783
784 //Gestione Composizione Link Share Social
785 var url = window.location.href.includes("auth") ? window.location.href.replace("https://auth-", "https://") : window.location.href;
786 var encodedUri = encodeURI(url);
787
788 //LINKEDIN
789 function createLinkedinLink(url) {
790 var shareLink = "https://www.linkedin.com/shareArticle?mini=true&";
791 shareLink += "url=" + encodeURIComponent(url);
792 return shareLink;
793 }
794 var linkedinAncor = $("#linkedin_share");
795 linkedinAncor.attr("href", createLinkedinLink(encodedUri))
796
797 //FACEBOOK
798 function createFbShareLink(url) {
799 var shareLink = 'https://www.facebook.com/sharer/sharer.php?kid_directed_site=0&';
800 shareLink += 'u=' + encodeURIComponent(url);
801 shareLink += '&display=popup&ref=plugin&src=share_button';
802 return shareLink;
803 }
804 var facebookAncor = $("#facebook_share");
805 facebookAncor.attr("href", createFbShareLink(encodedUri));
806
807 //TWITTER
808 function createTwitterShareLink(url, title){
809 var shareLink = 'https://twitter.com/intent/tweet?';
810 shareLink += 'url=' + encodeURIComponent(url);
811 shareLink += '&text=' + 'Gruppo Hera -' + title;
812 return shareLink;
813 }
814 var twitterAncor = $("#twitter_share");
815 twitterAncor.attr("href", createTwitterShareLink(encodedUri, $("#pagename").text()));
816
817 //WHATSAPP
818 var whatsAppAncor = $("#whatsApp_social");
819 whatsAppAncor.attr("href", "https://wa.me/?text=" + encodeURIComponent(encodedUri));
820 /* ------ FINE GESTIONE SOCIAL ------ */
821
822 document.addEventListener("DOMContentLoaded", function () {
823 function openAccordion(collapseId) {
824 var collapseElement = document.getElementById(collapseId);
825 if (collapseElement && collapseElement.classList.contains("collapse")) {
826 new bootstrap.Collapse(collapseElement, {
827 toggle: true,
828 });
829 }
830 }
831 var accordionParam = window.location.hash.substring(1);
832 if (accordionParam) {
833 openAccordion(accordionParam);
834 }
835});
836
837
838</script>