Menù di navigazione


Alert Web

HeraAssetPublisherFilterComuneSelector

La raccolta nel tuo comune

Carta smeraldo

Testata Raccolta Differenziata

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    &nbsp;<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">&times;</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> 

HeraAssetPublisherFilterComuneSelector

Pre-Footer Standard

Hera


mappa sede legale Hera SpA

Sede legale Hera SpA
Viale Carlo Berti Pichat 2/4
40127 Bologna

Tel. 051 287111
Fax 051 287525
PEC heraspa@pec.gruppohera.it

Capitale sociale
€1.489.538.745 i.v.
C.F. e REA 04245520376
P.IVA 03819031208

Hera è la multiutility italiana che migliora ogni giorno, nel rispetto dell'ambiente, la qualità dei suoi servizi ambientali, idrici ed energetici attraverso un forte radicamento territoriale e la capacità di innovazione.


Scarica le App pensate per te


Per rimanere aggiornato


Iscriviti alla Newsletter Insieme per rimanere sempre aggiornato

Oppure scopri il sistema di alerting personalizzato


HeraAssetPublisherFilterComuneSelector


Entra nel mondo di Hera



Canali Specifici



Seguici sui Social Seguici su Linkedin Seguici su Wikipedia Seguici su YouTube
Hera SpA, Viale Carlo Berti Pichat 2/4, 40127 Bologna, Tel.051287111 www.gruppohera.it