Menù di navigazione


Alert Web

HeraAssetPublisherFilterComuneSelector

I progetti innovativi

Testata progetti homepage

Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> cur_image.TopImageSlide.getAttribute(" alt")  [in template "20099#20135#850962" at line 354, column 64]

----
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: ${cur_image.TopImageSlide.getAttribut...  [in template "20099#20135#850962" at line 354, column 62]
----
1<style> 
2    #barDiv { 
3        position: absolute !important; 
4
5 
6    .carousel-control-prev:focus, 
7    .carousel-control-next:focus, 
8    .banner_hp_video-control:focus { 
9        outline: revert !important; 
10
11 
12    .modal-iframe-video .modal-dialog { 
13        margin-left: auto; 
14        margin-right: auto; 
15
16 
17 
18    .modal-iframe-video .modal-body { 
19        border-top: 0; 
20
21 
22    @media (min-width: 992px) { 
23        .modal-video .modal-dialog { 
24            min-width: 800px; 
25
26
27 
28    /* Frecce del carousel quando e' presente il menu laterale: 
29       il prev a left:0 finirebbe sopra la tile del menu. */ 
30    @media (min-width: 992px) { 
31        #main-carousel.menulateralepresente .carousel-control-prev { 
32            left: 33.333% !important; 
33
34
35 
36</style> 
37<#assign nomepagina=themeDisplay.getLayout().getName(locale) /> 
38<#assign currentURL=themeDisplay.getURLCurrent()?keep_before("?") /> 
39<#assign imgcounter=0 hideclass="hidden" padLg="px-lg-3 px-2" internalpadding="" menulateralepresente="" /> 
40 
41<#assign classAccessibility="" /> 
42<#if getterUtil.getBoolean(gradientLayer.getData())> 
43    <#assign classAccessibility="hasGradientAccessible" /> 
44</#if> 
45 
46<#if image.getSiblings()?has_content> 
47    <#list image.getSiblings() as cur_image> 
48        <#if cur_image.getData()?? && cur_image.getData() !=""> 
49            <#assign imgcounter=imgcounter+1 /> 
50        </#if> 
51    </#list> 
52</#if> 
53<#if imgcounter gt 1> 
54    <#assign hideclass="" padLg="px-lg-5 px-3" /> 
55</#if> 
56<#assign title=.vars['reserved-article-title'].data vocabularyId=0 
57    journalArticleServiceUtil=objectUtil("com.liferay.journal.service.JournalArticleServiceUtil") 
58    assetVocabularyServiceUtil=objectUtil("com.liferay.asset.kernel.service.AssetVocabularyServiceUtil") 
59    vocabulariesList=assetVocabularyServiceUtil.getGroupVocabularies(themeDisplay.getScopeGroupId()) 
60    journalArticle=journalArticleServiceUtil.getArticle(getterUtil.getLong(scopeGroupId), 
61    .vars['reserved-article-id'].data) 
62    assetCategoryServiceUtil=objectUtil("com.liferay.asset.kernel.service.AssetCategoryServiceUtil") 
63    journalArticleCategories=assetCategoryServiceUtil.getCategories("com.liferay.journal.model.JournalArticle", 
64    journalArticle.getResourcePrimKey()) nomecomune="comune-generico" larghezzaLineaTesto="w-75 w-md-50" 
65    arrowcolor="white" classLateralCss="" classLateral="" comuniVar=languageUtil.get(locale, "COMUNI" ) 
66    gruppoUrl=languageUtil.get(locale, "gruppo-internal-url" ) 
67    group_engVar=languageUtil.get(locale, "gruppo-internal-eng-url" ) 
68    offerteServiziUrl=languageUtil.get(locale, "offerte-internal-url" ) 
69    assistenzaUrl=languageUtil.get(locale, "assistenza-internal-url" ) trueVar="true" 
70    dlgblockVar=languageUtil.get(locale, "d-lg-block" ) yesVar=languageUtil.get(locale, "yesVar" ) 
71    chiaveIngleseVar=languageUtil.get(locale, "chiave-inglese" ) mouseVar=languageUtil.get(locale, "mouse" ) /> 
72<#list vocabulariesList as vocabulary> 
73    <#assign vocabularyName=vocabulary.getName() /> 
74    <#if vocabularyName==comuniVar> 
75        <#assign vocabularyId=vocabulary.getVocabularyId() /> 
76    </#if> 
77</#list> 
78<#assign listcomuni=[] /> 
79<#list journalArticleCategories as category> 
80    <#if category.vocabularyId==vocabularyId> 
81        <#assign listcomuni=listcomuni + [category.name] /> 
82    </#if> 
83</#list> 
84<#list listcomuni as comune> 
85    <#if (listcomuni?size gt 0)> 
86        <#assign nomecomune=nomecomune +"@" + comune /> 
87        <#else> 
88            <#assign nomecomune=comune /> 
89    </#if> 
90</#list> 
91<#assign hasMenuLaterale = MostraMenuLaterale?? && MostraMenuLaterale.getData()==dlgblockVar /> 
92<#if hasMenuLaterale> 
93    <#assign menulateralepresente="menulateralepresente" /> 
94</#if> 
95<#assign siblings=image.getSiblings() /> 
96<input type="hidden" name="nomecomune" value="${nomecomune}" /> 
97<#if siblings?has_content> 
98    <section id="main-carousel" class="page-head ${menulateralepresente} ${classAccessibility}"> 
99 
100 
101        <div id="head-carousel" class="carousel slide prelative" data-ride="carousel"> 
102 
103            <#assign finalmodalid=""> 
104            <#assign modalcounter=0 actualUrl=themeDisplay.getLayout().getName(locale) idnumber=0 breadcrumbmenulaterale="" brothersviewmenu=[] currentindex=0 /> 
105            <#list themeDisplay.getLayout().getAncestors() as ancestor> 
106                <#if (ancestor?index==0)> 
107                    <#assign fulllayout=ancestor publiclayout=fulllayout.isPublicLayout() breadcrumbName=ancestor.getName(locale) breadcrumbURL=ancestor.getFriendlyURL() /> 
108                </#if> 
109            </#list> 
110            <#assign ancestorIndex=1 /> 
111            <#if breadcrumbURL??> 
112                <#if breadcrumbURL?contains(gruppoUrl) || breadcrumbURL?contains(group_engVar)> 
113                    <#assign ancestorIndex=2 /> 
114                <#elseif breadcrumbURL?contains(offerteServiziUrl)> 
115                    <#assign ancestorIndex=3 /> 
116                <#elseif breadcrumbURL?contains(assistenzaUrl)> 
117                    <#assign ancestorIndex=3 /> 
118                </#if> 
119            </#if> 
120            <#list themeDisplay.getLayout().getAncestors()?reverse as ancestor> 
121                <#if (ancestor?index==ancestorIndex)> 
122                    <#assign fulllayout=ancestor /> 
123                </#if> 
124            </#list> 
125            <#if fulllayout?? && fulllayout !=""> 
126                <#assign pageName=fulllayout.getName(locale) /> 
127            </#if> 
128            <#if hasMenuLaterale> 
129                <#list fulllayout.getChildren() as children> 
130                    <#assign brotherschildnames=[] /> 
131                    <#assign brotherschildurls=[] /> 
132                    <#assign brothersviewmenu +=[children.getExpandoBridge().getAttribute("VisualizzabileInMenu")] /> 
133                    <#list children.getChildren() as brotherschild> 
134                        <#assign brotherschildnames +=[brotherschild.getName(locale)] brotherschildurls 
135                            +=[brotherschild.getFriendlyURL()] /> 
136                    </#list> 
137                    <#assign breadcrumbURL=layout.getGroup().getDisplayURL(themeDisplay, false) + 
138                        children.getName(locale) /> 
139                    <#assign 
140                        assetVocabularyServiceUtil=objectUtil("com.liferay.asset.kernel.service.AssetVocabularyServiceUtil") 
141                        pageVocabularies=assetVocabularyServiceUtil.getGroupVocabularies(themeDisplay.getScopeGroupId(), "COMUNI", -1, -1, null) 
142                        assetCategoryServiceUtil=objectUtil("com.liferay.asset.kernel.service.AssetCategoryServiceUtil") 
143                        pageCategories=assetCategoryServiceUtil.getCategories("com.liferay.portal.kernel.model.layout", 
144                        children.getPrimaryKey()) cssPageCategories="" pageVocabularyId=0 /> 
145                    <#if pageVocabularies?size gt 0> 
146                        <#list pageVocabularies as pageVocabulary> 
147                            <#assign pageVocabularyId=pageVocabulary.getVocabularyId() /> 
148                        </#list> 
149                        <#if pageCategories?size gt 0> 
150                            <#list pageCategories as pageCategory> 
151                                <#if pageCategory.getVocabularyId()==pageVocabularyId> 
152                                    <#assign cssPageCategories +="@" + pageCategory.getName() /> 
153                                </#if> 
154                            </#list> 
155                        </#if> 
156                    </#if> 
157                    <#if brotherschildnames?size !=0> 
158                        <#if brothersviewmenu[currentindex]?c==trueVar> 
159                            <#assign menuStyle="" iconChevron="icon-chevron-right" collapse="collapse" /> 
160                            <#if actualUrl==children.getName(locale)> 
161                                <#assign menuStyle="font-weight: 600" iconChevron="icon-chevron-down" collapse="collapse show" /> 
162                            </#if> 
163                            <#assign breadcrumbURLLink="<div class=\" dropdown px-2 py-2 verifycomunemenu ${cssPageCategories}\"> 
164                                <div class='row'> 
165                                    <div class='col-10'><a class='d-inline pointer greyish-brown normal2' 
166                                            style='${menuStyle}' href='" + children.getFriendlyURL() + "'>" 
167                                            breadcrumbURLLink += children.getName(locale) + "</a></div>" 
168                                    /> 
169                                    <#-- breadcrumbURLLink +="<div class='col-1'><div id='submenu_" + idnumber 
170                                        + "' class=' pointer ${iconChevron} dropdown-toggle d-inline greyish-brown normal2' role='button' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'></div>" 
171                                        breadcrumbURLLink 
172                                        +="<div style='top:-30px!important;' class='ml-4 dropdown-menu white' labelledby='submenu_" 
173                                        + idnumber + "'>" idnumber=idnumber+1 --> 
174                                        <#assign idArrowSubmenu=children.getName(locale)?replace(" ", " 
175                                            -")?replace(":", "" )?lower_case breadcrumbURLLink 
176                                            +="<div class='col-1'><div class='arrow-submenu pointer ${iconChevron} dropdown-toggle d-inline greyish-brown teal-blue normal2' role='button' data-toggle='collapse' id='arrow-submenu-${idArrowSubmenu}' data-target='#submenu-${idnumber}' aria-haspopup='true' aria-expanded='false'></div></div>" 
177                                            breadcrumbURLLink +="<div class='col-11 pl-4 ${collapse}' id='submenu-" 
178                                            + idnumber + "'>" idnumber=idnumber+1 /> 
179                                        <#list children.getChildren() as brotherschild> 
180                                            <#if brotherschild.getExpandoBridge().getAttribute("VisualizzabileInMenu")> 
181                                                <#assign 
182                                                    assetVocabularyServiceUtil=objectUtil("com.liferay.asset.kernel.service.AssetVocabularyServiceUtil") 
183                                                    pageVocabularies=assetVocabularyServiceUtil.getGroupVocabularies(themeDisplay.getScopeGroupId(), "COMUNI" 
184                                                    , -1, -1, null) 
185                                                    assetCategoryServiceUtil=objectUtil("com.liferay.asset.kernel.service.AssetCategoryServiceUtil") 
186                                                    pageCategories=assetCategoryServiceUtil.getCategories("com.liferay.portal.kernel.model.layout", 
187                                                    brotherschild.getPrimaryKey()) cssPageCategories="" 
188                                                    pageVocabularyId=0 /> 
189                                                <#if pageVocabularies?size gt 0> 
190                                                    <#list pageVocabularies as pageVocabulary> 
191                                                        <#assign 
192                                                            pageVocabularyId=pageVocabulary.getVocabularyId() /> 
193                                                    </#list> 
194                                                    <#if pageCategories?size gt 0> 
195                                                        <#list pageCategories as pageCategory> 
196                                                            <#if pageCategory.getVocabularyId()==pageVocabularyId> 
197                                                                <#assign cssPageCategories +="@" + 
198                                                                    pageCategory.getName() /> 
199                                                            </#if> 
200                                                        </#list> 
201                                                    </#if> 
202                                                </#if> 
203                                                <#assign menuStyle="" /> 
204                                                <#if actualUrl==brotherschild.getName(locale)> 
205                                                    <#assign menuStyle="font-weight: 600" /> 
206                                                </#if> 
207                                                <#assign brotherschildname=brotherschild.getName(locale) 
208                                                    brotherschildurl=brotherschild.getFriendlyURL() 
209                                                    breadcrumbURLLink +="<a class=\" d-block pointer greyish-brown 
210                                                    normal2 px-1 py-1 verifycomunemenu ${cssPageCategories}\" 
211                                                    style='${menuStyle}' href='" + brotherschildurl + "'>" + 
212                                                    brotherschildname + "</a>" 
213                                                    /> 
214                                            </#if> 
215                                        </#list> 
216                                        <#assign breadcrumbURLLink +="</div></div></div>" /> 
217                                        <#assign breadcrumbmenulaterale=breadcrumbmenulaterale + 
218                                            breadcrumbURLLink /> 
219                        </#if> 
220                        <#else> 
221                            <#if brothersviewmenu[currentindex]?c==trueVar> 
222                                <#assign menuStyle="" /> 
223                                <#if actualUrl==children.getName(locale)> 
224                                    <#assign menuStyle="font-weight: 600" /> 
225                                </#if> 
226                                <#assign breadcrumbURLLink="<a class=\" d-block col-10 greyish-brown normal2 px-2 
227                                    py-2 verifycomunemenu ${cssPageCategories}\" style='${menuStyle}' 
228                                    href='" + children.getFriendlyURL() + "'>" + children.getName(locale) + "</a>" 
229                                    breadcrumbmenulaterale = breadcrumbmenulaterale + breadcrumbURLLink 
230                                    /> 
231                            </#if> 
232                    </#if> 
233                    <#assign currentindex=currentindex+1 /> 
234                </#list> 
235            </#if> 
236 
237            <style> 
238                <#list siblings as cur_image> 
239                    <#assign slideImgUrl=cur_image.getData() /> 
240                    <#if cur_image.ImmagineMobile?? && cur_image.ImmagineMobile.getData()!=""> 
241                        <#assign slideImgMobileUrl=cur_image.ImmagineMobile.getData() /> 
242                    <#else> 
243                        <#assign slideImgMobileUrl=slideImgUrl /> 
244                    </#if> 
245                    #superhomepage-carousel-slide-${cur_image?index} { 
246                        background-image: url('${slideImgUrl}'); 
247
248                    @media (max-width: 990px) { 
249                        #superhomepage-carousel-slide-${cur_image?index} { 
250                            background-image: url('${slideImgMobileUrl}'); 
251                            max-height: 450px; 
252
253
254                </#list> 
255            </style> 
256 
257            <div class="carousel-inner"> 
258                <#list siblings as cur_image> 
259                    <#assign imgUrl=cur_image.getData() /> 
260                    <#assign tipobottone="btn green-blue-gradient-button" /> 
261                    <#if cur_image.LinkPulsante.TipoBottone??> 
262                        <#if cur_image.LinkPulsante.TipoBottone.getData()!=""> 
263                            <#assign tipobottone=cur_image.LinkPulsante.TipoBottone.getData() /> 
264                        </#if> 
265                    </#if> 
266                    <#if cur_image.ImmagineMobile??> 
267                        <#assign imgMobileUrl=cur_image.ImmagineMobile.getData() /> 
268                        <#else> 
269                            <#assign imgMobileUrl=imgUrl /> 
270                    </#if> 
271                    <#assign modalcounter=modalcounter+1 /> 
272                    <#assign finalmodalid="modal_id_" + modalcounter> 
273                        <#if hasMenuLaterale> 
274                            <#assign classLateral="" /> 
275                            <#assign classLateralCss="" /> 
276                        </#if> 
277 
278 
279                        <div id="superhomepage-carousel-slide-${cur_image?index}" 
280                            class="${(cur_image?counter == 1)?then('active', '')} carousel-item"> 
281                            <div id="colnumber" class="${cur_image?index}" style="display:none"></div> 
282                            <div class="container h-100 position-relative ${classLateral}" ${classLateralCss}> 
283                                <div class="row h-100 mx-md-0 "> 
284                                    <#assign colLg="col-lg-12" styleLg="marginlarge" /> 
285                                    <#if hasMenuLaterale> 
286                                        <#assign colLg="col-lg-8" styleLg="" /> 
287                                        <div class="col-lg-4 d-lg-block"> 
288                                            <#if hasMenuLaterale> 
289                                                <div class="tile mt-5 position-relative"> 
290                                                    <div class="tile-content"> 
291                                                        <div class="tilewrapper"> 
292                                                            <h1 
293                                                                class="bolder greyish-brown normal2 px-2 text-uppercase"> 
294                                                                ${pageName}</h1> 
295                                                            <hr class="my-3 mx-2"> 
296                                                            ${breadcrumbmenulaterale} 
297                                                        </div> 
298                                                    </div> 
299                                                </div> 
300 
301                                            </#if> 
302                                        </div> 
303                                    </#if> 
304                                    <div 
305                                        class="carousel-item-content h-100 w-lg-100 pr-0 ${padLg} w-md-75 ${colLg} ${styleLg}"> 
306                                        <#if hasMenuLaterale> 
307                                            <#assign internalpadding="px-5"> 
308                                        </#if> 
309                                        <div class="${internalpadding}"> 
310                                            <#if ColoreTesto??> 
311                                                <#assign coloreTesto=ColoreTesto.getData() /> 
312                                                <#else> 
313                                                    <#assign coloreTesto="white" /> 
314                                            </#if> 
315                                            <#assign actualUrl="<span class='actualurlbread ${coloreTesto} bold'>" + 
316                                                themeDisplay.getLayout().getName(locale) + "</span>" 
317                                                breadcrumbNames=[] breadcrumbURLS=[] 
318                                                rightAngleBracket="<span class='right-angle-bracket ${coloreTesto}'> > </span>" 
319                                                breadcrumb="" /> 
320                                            <#list themeDisplay.getLayout().getAncestors() as ancestor> 
321                                                <#assign breadcrumbNames +=[ancestor.getName(locale)] breadcrumbURLS 
322                                                    +=[ancestor.getFriendlyURL()] /> 
323                                            </#list> 
324                                            <#assign breadcrumbNames=breadcrumbNames?reverse 
325                                                breadcrumbURLS=breadcrumbURLS?reverse /> 
326                                            <#list breadcrumbNames as breadcrumbName> 
327                                                <#if breadcrumbName !="Super Homepage"> 
328                                                    <#assign menuStyle="" /> 
329                                                    <#if actualUrl==breadcrumbName> 
330                                                        <#assign menuStyle="font-weight: 600" /> 
331                                                    </#if> 
332                                                    <#assign breadcrumbIndex=breadcrumbName?index 
333                                                        breadcrumbURL=breadcrumbURLS[breadcrumbIndex] 
334                                                        breadcrumbURL=layout.getGroup().getDisplayURL(themeDisplay, 
335                                                        false) + breadcrumbURL 
336                                                        breadcrumbURLLink="<u><a class='${coloreTesto} pr-2' style='${menuStyle}' href='" + breadcrumbURL + "'>" + breadcrumbName + "</a></u>" 
337                                                        breadcrumb=breadcrumb + breadcrumbURLLink + 
338                                                        rightAngleBracket /> 
339                                                </#if> 
340                                            </#list> 
341                                            <#assign breadcrumb=breadcrumb + actualUrl /> 
342                                            <div> 
343 
344                                                <#if cur_image.LarghezzaLineaTesto??> 
345                                                    <#if cur_image.LarghezzaLineaTesto.getData()!=""> 
346                                                        <#assign 
347                                                            larghezzaLineaTesto=cur_image.LarghezzaLineaTesto.getData() /> 
348                                                    </#if> 
349                                                </#if> 
350 
351                                                <#if cur_image.TopImageSlide.getData()?? && 
352                                                    cur_image.TopImageSlide.getData() !=""> 
353                                                    <img title="${nomepagina}" 
354                                                        alt="${cur_image.TopImageSlide.getAttribute(" alt")}" 
355                                                        data-fileentryid="${cur_image.TopImageSlide.getAttribute(" 
356                                                        fileEntryId")}" src="${cur_image.TopImageSlide.getData()}" 
357                                                        class="img-fluid mt-lg-5" /> 
358                                                </#if> 
359                                            </div> 
360                                            <#if (MostraBreadcrumb?? && MostraBreadcrumb.getData()==yesVar)> 
361                                                <p class="header-breadcrumb black">${breadcrumb}</p> 
362                                            </#if> 
363                                            <#if cur_image.testoAbstract.getData() !=""> 
364                                                <div class="carousel-abstract white title-bigger2 bolder letter-spacing-sm mt-md-5 mt-0 ${larghezzaLineaTesto}"> 
365                                                    ${cur_image.testoAbstract.getData()}</div> 
366                                            </#if> 
367                                            <#assign controlSummary=cur_image.TestoSummary.getData() /> 
368                                            <#if controlSummary?has_content> 
369                                                <#if cur_image.ImmagineSummary??> 
370                                                    <#if cur_image.ImmagineSummary.getData()==chiaveIngleseVar> 
371                                                        <#assign imageSum="icon-tenaglia" /> 
372                                                        <#elseif cur_image.ImmagineSummary.getData()==mouseVar> 
373                                                            <#assign imageSum="icon-mouse" /> 
374                                                            <#else> 
375                                                                <#assign imageSum="" /> 
376                                                    </#if> 
377                                                </#if> 
378 
379 
380 
381                                                <h3 class="white mb-md-5 mb-0 ${larghezzaLineaTesto}"> 
382                                                    <#if image.ImmagineSummary??> 
383                                                        <#if image.ImmagineSummary.getData()!=""> 
384                                                            <i class="${imageSum} title-big align-text-top mr-2"></i> 
385                                                        </#if> 
386                                                    </#if> 
387                                                    <p class="big light text-left" style="line-height:normal;"> 
388                                                        ${htmlUtil.unescape(controlSummary)}</p> 
389                                                </h3> 
390                                            </#if> 
391                                            <#-- ***** Visualizzazione Button + Link *****--> 
392                                            <#assign controlButton=cur_image.LinkPulsante.TestoPulsante.getData() /> 
393 
394                                            <div class=""> 
395                                                <#list cur_image.LinkPulsante.getSiblings() as cta> 
396                                                    <#assign buttonLink="" /> 
397 
398                                                    <#if cur_image.UrlVideoYOUTUBE.getData()!="" && cta.TestoPulsante.getData()?lower_case=="guarda il video"> 
399 
400                                                        <button type="button" id="btn_${modalcounter}" data-toggle="modal" 
401                                                            data-target="#${finalmodalid}" 
402                                                            class="${tipobottone} mr-2"> 
403                                                            <img title="${nomepagina}" 
404                                                                src="${themeDisplay.getPathThemeImages()}/play-video.png" 
405                                                                class="ml-2 mr-3"> 
406                                                            ${cta.TestoPulsante.getData()} 
407                                                        </button> 
408                                                        <div class='modal modal-video modal-iframe-video fade form-popup-Servizi' 
409                                                            id='${finalmodalid}' tabindex='-1' role='dialog' 
410                                                            aria-labelledby='videomodallabel' 
411                                                            style='display:none;padding-right: 17px;'> 
412                                                            <div class="modal-dialog"> 
413                                                                <div class="modal-content"> 
414                                                                    <div class="modal-header"> 
415                                                                        <p class="pointer w-100 text-right mt-3 mb-4" 
416                                                                            data-dismiss="modal" 
417                                                                            aria-label="Close"> 
418                                                                            <i class="icon-cancel normal white"></i> 
419                                                                        </p> 
420                                                                    </div> 
421                                                                    <div class="modal-body" style="margin-top:-35px;"> 
422                                                                        <div class="row"> 
423                                                                            <div class="col-md-12"> 
424                                                                                <#if cur_image.UrlVideoYOUTUBE.getData()?has_content> 
425                                                                                    <#assign noVideoText="Cookie disabilitati - contenuto non disponibile" /> 
426                                                                                    <#if getterUtil.getString(themeDisplay.getThemeSetting("ambiente-lang"))==languageUtil.get(locale, "ENG")> 
427                                                                                        <#assign noVideoText="Cookies disabled - content not available" /> 
428                                                                                    </#if> 
429                                                                                    <div class='embed-responsive embed-responsive-16by9' data-video='false'> 
430                                                                                        <p class='nocookie-text'>${noVideoText}</p> 
431                                                                                        <input type='hidden' 
432                                                                                            id='coockieinput' 
433                                                                                            class='coockieinput autoplayAdder' 
434                                                                                            value='https://www.youtube.com/embed/${cur_image.UrlVideoYOUTUBE.getData()}'> 
435                                                                                        <iframe frameBorder="0" 
436                                                                                            width="100%" 
437                                                                                            height="500" src="" 
438                                                                                            class='iframe-video coockieinput-iframe autoplayAdder-iframe' 
439                                                                                            style="background-color: transparent;z-index: 3"></iframe> 
440                                                                                    </div> 
441                                                                                </#if> 
442                                                                            </div> 
443                                                                        </div> 
444                                                                    </div> 
445                                                                </div> 
446                                                            </div> 
447                                                        </div> 
448 
449                                                    <#else> 
450 
451                                                        <#if cta.LinkEsterno?? && cta.LinkEsterno.getData() != ""> 
452                                                            <#assign buttonLink=cta.LinkEsterno.getData() targetLink="_blank" /> 
453                                                        <#elseif cta.getData()?? && cta.getData() !=""> 
454                                                            <#assign buttonLink=cta.getFriendlyUrl() targetLink="" /> 
455                                                        </#if> 
456 
457                                                        <#if buttonLink!=""> 
458                                                            <a href="${buttonLink}" target="targetLink" 
459                                                                class="${tipobottone}  brake-line mr-2">${cta.TestoPulsante.getData()} 
460                                                                <#if cta.TestoContestoLink?? && 
461                                                                    cta.TestoContestoLink.getData() !=""> 
462                                                                    <span 
463                                                                        class="visually-hidden">${cta.TestoContestoLink.getData()}</span> 
464                                                                </#if> 
465                                                            </a> 
466                                                        </#if> 
467 
468                                                    </#if> 
469                                                </#list> 
470                                            </div> 
471                                        </div> 
472                                    </div> 
473                                </div> 
474                            </div> 
475                        </div> 
476                </#list> 
477            </div> 
478 
479            <#-- Frecce e indicatori DEVONO stare dentro #head-carousel: 
480                    Bootstrap cerca .carousel-indicators con querySelector sul root. --> 
481            <div class="d-none d-lg-block ${hideclass}" 
482                style="position:absolute;top: 50%;left:0%; right: 0%;"> 
483 
484                <a class="carousel-control carousel-control-prev" href="#head-carousel" role="button" 
485                    data-slide="prev" style="width:10%;z-index:5;"> 
486                    <i class="icon-arrow-l ${arrowcolor} title-bigger"></i> 
487                    <span class="sr-only">${languageUtil.get(locale, "previous")}</span> 
488                </a> 
489 
490                <a class="carousel-control carousel-control-next" href="#head-carousel" role="button" 
491                    data-slide="next" style="width:10%;z-index:5;"> 
492                    <i class="icon-arrow-r ${arrowcolor} title-bigger"></i> 
493                    <span class="sr-only">${languageUtil.get(locale, "next")}</span> 
494                </a> 
495            </div> 
496 
497            <ol class="carousel-indicators pabsolute ${hideclass}" style="z-index:5!important;bottom:15px;"> 
498                <#list siblings as cur_image> 
499                    <li role="button" class="li-carousel-indicator ${(cur_image?index == 0)?then('active', '')}" 
500                        data-slide-to="${cur_image?index}" data-target="#head-carousel"><span></span></li> 
501                </#list> 
502            </ol> 
503 
504        </div> 
505        <#-- /#head-carousel --> 
506 
507        <#if (siblings?size gt 1)> 
508            <button type="button" class="banner_hp_video-control" aria-label="Pausa" 
509                title="Pausa">Pausa</button> 
510        </#if> 
511 
512        <div class="mobile d-lg-none"> 
513            <script> 
514                !function (t) { 
515                    t.fn.bcSwipe = function (e) { 
516                        var n = {threshold: 50}; 
517                        return e && t.extend(n, e), this.each(function () { 
518                            function e(t) {1 == t.touches.length && (u = t.touches[0].pageX, c = !0, this.addEventListener("touchmove", o, !1))} 
519                            function o(e) {if (c) {var o = e.touches[0].pageX, i = u - o; Math.abs(i) >= n.threshold && (h(), t(this).carousel(i > 0 ? "next" : "prev"))} } 
520                            function h() {this.removeEventListener("touchmove", o), u = null, c = !1} 
521                            var u, c = !1; "ontouchstart" in document.documentElement && this.addEventListener("touchstart", e, !1) 
522                        }), this 
523
524                }(jQuery); 
525                // Swipe functions for Bootstrap Carousel 
526                $('#head-carousel').bcSwipe({threshold: 50}); 
527            </script> 
528        </div> 
529    </section> 
530 
531    <script> 
532        $(document).ready(function () { 
533            $(".modal-iframe-video").on('shown.bs.modal', function () { 
534                if ($('#head-carousel').length > 0) { 
535                    $('#head-carousel').carousel("pause"); 
536
537            }); 
538            $(".modal-iframe-video").on('hidden.bs.modal', function () { 
539                $("iframe").each(function () { 
540                    var src = $(this).attr('src'); 
541                    $(this).attr('src', src); 
542                }); 
543                if ($('#head-carousel').length > 0) { 
544                    $('#head-carousel').carousel("cycle"); 
545
546            }); 
547        }); 
548 
549        /* accessibility carousel */ 
550        (function () { 
551            var carouselDesktop = document.getElementById("main-carousel"); 
552            var carouselRoot = document.getElementById("head-carousel"); 
553            if (!carouselDesktop || !carouselRoot) { 
554                return; 
555
556 
557            var dotsDesktopWrapper = carouselRoot.querySelector(".carousel-indicators"); 
558            var dotsDesktop = dotsDesktopWrapper 
559                ? Array.prototype.slice.call(dotsDesktopWrapper.querySelectorAll("li")) 
560                : []; 
561            var triggeredByDot = false; 
562 
563            $(carouselRoot).on("slide.bs.carousel", function (event) { 
564                var nextIndex = event.to; 
565                dotsDesktop.forEach(function (dot, index) { 
566                    if (index === nextIndex) { 
567                        dot.setAttribute("tabindex", "0"); 
568                        if (triggeredByDot) { 
569                            dot.focus(); 
570
571                    } else { 
572                        dot.setAttribute("tabindex", "-1"); 
573
574                }); 
575                triggeredByDot = false; 
576            }); 
577 
578            dotsDesktop.forEach(function (dot, index) { 
579                dot.setAttribute("tabindex", index === 0 ? "0" : "-1"); 
580            }); 
581 
582            if (dotsDesktopWrapper) { 
583                dotsDesktopWrapper.addEventListener("keydown", function (event) { 
584                    if (carouselDesktop.classList.contains("page-head")) { 
585                        if (event.key === "ArrowLeft") { 
586                            triggeredByDot = true; 
587                            //$(carouselRoot).carousel("prev"); 
588                        } else if (event.key === "ArrowRight") { 
589                            triggeredByDot = true; 
590                            //$(carouselRoot).carousel("next"); 
591
592
593                }); 
594
595        })(); 
596    </script> 
597 
598    <#if (siblings?size gt 1)> 
599        <style> 
600            .banner_hp_video-control { 
601                bottom: 100px !important; 
602
603 
604            @media(max-width:767px) { 
605                .banner_hp_video-control { 
606                    right: 2.65% !important; 
607                    bottom: 10px !important; 
608
609
610 
611            button.banner_hp_video-control.d-none.d-md-block { 
612                position: absolute; 
613                bottom: 50px; 
614                right: 50px; 
615                z-index: 99999; 
616
617        </style> 
618        <script> 
619            document.addEventListener("DOMContentLoaded", function () { 
620                var controlButton = document.querySelector('.banner_hp_video-control'); 
621                var $carousel = $('#head-carousel'); 
622 
623                if (!controlButton || $carousel.length === 0) { 
624                    return; 
625
626 
627                function isAutoplayActive() { 
628                    var data = $carousel.data('bs.carousel'); 
629                    return !!data && data._interval !== null; 
630
631 
632                function updateButtonState(button, isPaused) { 
633                    if (isPaused) { 
634                        button.classList.add('play'); 
635                        button.setAttribute('aria-label', 'Play'); 
636                        button.setAttribute('title', 'Play'); 
637                        button.innerText = 'Play'; 
638                    } else { 
639                        button.classList.remove('play'); 
640                        button.setAttribute('aria-label', 'Pausa'); 
641                        button.setAttribute('title', 'Pausa'); 
642                        button.innerText = 'Pausa'; 
643
644
645 
646                $carousel.on('mouseover mouseout', function () { 
647                    setTimeout(function () { 
648                        updateButtonState(controlButton, !isAutoplayActive()); 
649                    }, 100); 
650                }); 
651 
652                controlButton.addEventListener('click', function () { 
653                    if (isAutoplayActive()) { 
654                        $carousel.carousel("pause"); 
655                        updateButtonState(controlButton, true); 
656                    } else { 
657                        updateButtonState(controlButton, false); 
658                        $carousel.carousel("cycle"); 
659                        $carousel.carousel("next"); 
660
661                }); 
662            }); 
663        </script> 
664    </#if> 
665</#if> 

In evidenza

In evidenza

#RIDUZIONEDEIRIFIUTI


#CONOSCERE


#PARTECIPARE


#ECONOMIACIRCOLARE


Cambia il finale - Progetti

#riduzionedeirifiuti #conoscere #economiacircolare
Hera e Last Minute Market insieme
per dare nuova vita agli
ingombranti riutilizzabili,
alimentando il circolo virtuoso del riuso.
#riduzionedeirifiuti
Cambia il finale
Hera e Last Minute Market insieme
per dare nuova vita agli
ingombranti riutilizzabili,
alimentando il circolo virtuoso del riuso.

HeraSolidale - Progetti

#partecipare
Insieme diamo una mano a chi ne ha
bisogno, sostenendo cinque diversi
progetti di solidarietà.

In evidenza

In evidenza

#RIDUZIONEDEIRIFIUTI


#RISPARMIARE


#CONOSCERE


#PARTECIPARE


Insieme possiamo fare la differenza

Insieme possiamo fare la differenza

Storie di sostenibilità, progetti e iniziative sul territorio, nuove idee:
tutto questo è la newsletter Insieme!

Le vie dell'acqua - Progetti

#conoscere #partecipare
Lungo il cammino della via Romea nonantolana, un tesoro alla portata di tutti

Riciclandino

#partecipare
Il progetto della Grande Macchina
del mondo che premia
scuole e ambiente.
#partecipare
Riciclandino
Il progetto della Grande Macchina
del mondo che premia
scuole e ambiente.

ECO Alberi

#conoscere
I comportamenti virtuosi dei
cittadini contribuiscono alla
piantumazione di alberi in città.

Cibo amico - Progetti

#riduzionedeirifiuti #conoscere #economiacircolare
Insieme per evitare lo spreco di
cibo e aiutare i più bisognosi.
#riduzionedeirifiuti
CiboAmico
Insieme per evitare lo spreco di
cibo e aiutare i più bisognosi.

Insieme per i ristoratori di Ravenna

#conoscere #economiacircolare
Insieme all’assessorato all’Ambiente del
comune di Ravenna per la promozione
delle sostenibilità degli esercizi pubblici.

Visite agli impianti

#partecipare
Hera apre le porte dei suoi impianti
a cittadini e scuole.
#partecipare
Visite agli impianti
Hera apre le porte dei suoi impianti
a cittadini e scuole.

Stay green

Immagine bolla Stay green
Immagine bolla Stay green
#accogliere #economiacircolare
L’accoglienza sostenibile degli
albergatori di Cesenatico

Aliplast

#partecipare #economiacircolare
Diamo nuova vita alla plastica.
Perché per ogni fine, c’è un nuovo inizio.
#partecipare
Aliplast
Diamo nuova vita alla plastica.
Perché per ogni fine, c’è un nuovo inizio.

FarmacoAmico

Immagine bolla FarmacoAmico
Immagine bolla FarmacoAmico
#partecipare #economiacircolare
Hera e Last Minute Market per raccogliere i medicinali
non scaduti e creare una rete solidale sul territorio.

Pre-Footer Insieme

Hera


Mappa sede legale Hera SpA

Sede legale Hera SpA
Viale Carlo Berti Pichat 2/4

40127 Bologna
Tel. 051287111
Fax 051287525

Capitale sociale
€1.489.538.745 Lv.
VAT C.F./P.IVA e REA 0424552376

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



Target 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

HeraSmartsearchAgent