Gruppo Hera Luce e GasCasaMobilità

Cresce la Mobilità Sostenibile

Cresce la Mobilità Sostenibile

Gruppo Hera Luce e GasCasaMobilità

Cresce la Mobilità Sostenibile

I nostri servizi sulla mobilità elettrica

I nostri servizi sulla mobilità elettrica

Si è verificato un errore nell'elaborarazione del modello.
Java method "static com.liferay.portal.kernel.service.LayoutServiceUtil.getLayoutByUuidAndGroupId(String, long, boolean)" threw an exception; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: articleLayout = layoutServiceUtil.get...  [in template "20099#20135#94266" at line 106, column 32]
	- Reached through: #assign-container  [in template "20099#20135#94266" at line 104, column 14]
----
1<style> 
2    .card-deck { 
3        justify-content: center; 
4        width: 100%; 
5
6        .h-auto{ 
7          height: auto; 
8
9  @media (max-width: 991px) { 
10      .card { 
11          max-width: 100% !important; 
12
13
14  </style> 
15  <#assign 
16   assetVocabularyServiceUtil = objectUtil("com.liferay.asset.kernel.service.AssetVocabularyLocalServiceUtil") 
17   vocabulariesList = assetVocabularyServiceUtil.getGroupVocabularies(themeDisplay.getScopeGroupId()) 
18   vocabularyId = 0 
19   bgtheme = "" 
20   immagineStrName = "" 
21   prefUrl = layout.getGroup().getDisplayURL(themeDisplay, false) 
22   emptyDivNumber = 0 
23   emptyDiv =  "" 
24   totalEntryCounter = 0 
25  classLoaderTwoDeck = "" 
26  classLoaderTwoCard = "" 
27  /> 
28  <#list vocabulariesList as vocabulary> 
29   <#assign vocabularyName = vocabulary.getName() /> 
30   <#if vocabularyName?? && vocabularyName?lower_case == "servizio"> 
31       <#assign vocabularyId = vocabulary.getVocabularyId() /> 
32   </#if> 
33  </#list> 
34  <#if currentURL?contains("offerte-luce-gas")> 
35   <#assign bgtheme = "card-deck-bg" /> 
36  </#if> 
37  <#if entries?has_content> 
38  <#assign totalEntryCounter = entries?size /> 
39  </#if> 
40   
41  <#if totalEntryCounter % 3 == 1> 
42  <#assign emptyDiv = "<div class='card pb-2' style='opacity:0;'></div> <div class='card pb-2' style='opacity:0;'></div>" /> 
43  <#elseif totalEntryCounter % 3 == 2> 
44  <#assign  
45  classLoaderTwoDeck = "justify-content: center;"  
46  classLoaderTwoCard = "max-width: 30%;text-align: left;" 
47  /> 
48  <#else> 
49  <#assign emptyDiv = "" /> 
50  </#if> 
51   
52  <#if themeDisplay.getScopeGroup().getParentGroupId() gt 0> 
53   <#assign scopeGroupId = themeDisplay.getScopeGroup().getParentGroupId() /> 
54  <#else> 
55   <#assign scopeGroupId = themeDisplay.getScopeGroupId() /> 
56  </#if> 
57  <section id="offerte-luce-gas"> 
58   <div class="container-fluid ${bgtheme}"> 
59       <div class="container"> 
60           <div class="row"> 
61               <div class="col-lg-12"> 
62                   <#if entries?has_content> 
63                       <#assign itemCounter = 0/> 
64                       <#list entries as curEntry> 
65                   <#assign 
66               dateFormat = "dd MM yyyy" 
67                               itemCounter = itemCounter + 1 
68                               assetRenderer = curEntry.getAssetRenderer() 
69                               docXml = saxReaderUtil.read(assetRenderer.getArticle().getContentByLocale(locale.toString())) 
70                               immagineInEvidenza = docXml.valueOf("//dynamic-element[@name='ImmagineOfferta']/dynamic-content/text()") 
71                               sottotitolo = docXml.valueOf("//dynamic-element[@name='SottotitoloOfferta']/dynamic-content/text()") 
72                               titolo = docXml.valueOf("//dynamic-element[@name='TitoloIntro']/dynamic-content/text()") 
73                               descrizione = docXml.valueOf("//dynamic-element[@name='DescrizioneIntro']/dynamic-content/text()") 
74                               scadenzaOfferta = docXml.valueOf("//dynamic-element[@name='ScadenzaOfferta']/dynamic-content/text()") 
75                               offertaFlat = docXml.valueOf("//dynamic-element[@name='OffertaFlat']/dynamic-content/text()") 
76                   offertaAConsumo = docXml.valueOf("//dynamic-element[@name='OffertaAConsumo']/dynamic-content/text()") 
77                               primoTestoElenco = docXml.valueOf("//dynamic-element[@name='PrimoTestoElenco']/dynamic-content/text()") 
78                 secondoTestoElenco = docXml.valueOf("//dynamic-element[@name='SecondoTestoElenco']/dynamic-content/text()") 
79                 terzoTestoElenco = docXml.valueOf("//dynamic-element[@name='TerzoTestoElenco']/dynamic-content/text()") 
80                   /> 
81                           <#if currentURL?contains("soluzioni-sostenibili")> 
82               <#assign immagineInEvidenza = docXml.valueOf("//dynamic-element[@name='ImmaginePiccola']/dynamic-content/text()") /> 
83                              <#if !immagineInEvidenza?has_content> 
84                                  <#assign immagineInEvidenza = docXml.valueOf("//dynamic-element[@name='ImmagineOfferta']/dynamic-content/text()") /> 
85                              </#if> 
86             </#if> 
87                           <#list "${immagineInEvidenza}"?split(",") as imageTmpSingleVar> 
88                               <#assign imageSingleVar = imageTmpSingleVar?split(":") /> 
89               <#if imageSingleVar[0]?contains("groupId")> 
90                 <#assign immagineStrGroupID = imageSingleVar[1]?replace('"', '') /> 
91               <#elseif imageSingleVar[0]?contains("name")> 
92                 <#assign 
93                   immagineStrName = imageSingleVar[1]?replace('"', '') 
94                   immagineStrName = immagineStrName?replace(' ', '+') 
95                 /> 
96               <#elseif imageSingleVar[0]?contains("uuid")> 
97                 <#assign immagineStrUUID = imageSingleVar[1]?replace('"', '') /> 
98               </#if> 
99                           </#list> 
100             <#assign immagineUrl = "" /> 
101             <#if immagineStrGroupID?? && immagineStrName?? && immagineStrUUID??> 
102               <#assign immagineUrl = "/documents/" + immagineStrGroupID + "/0/" + immagineStrName + "/" + immagineStrUUID /> 
103             </#if> 
104             <#assign 
105                               layoutServiceUtil = objectUtil("com.liferay.portal.kernel.service.LayoutServiceUtil") 
106                               articleLayout = layoutServiceUtil.getLayoutByUuidAndGroupId(assetRenderer.getArticle().getLayoutUuid(), scopeGroupId, false) 
107                               friendlyUrl = articleLayout.getFriendlyURL(locale) 
108             /> 
109             <#if prefUrl != ""> 
110               <#assign friendlyUrl = prefUrl + friendlyUrl /> 
111             </#if> 
112                           <#if itemCounter == 1> 
113                               <div class="card-deck"> 
114                           </#if> 
115                           <#if itemCounter == 1 & currentURL?contains("soluzioni-sostenibili")> 
116                              <div class="card-deck" style="justify-content: center";> 
117             </#if> 
118             <div class="card pb-2" style="${classLoaderTwoCard}"> 
119               <#assign 
120                 entryCategories = curEntry.getCategories() 
121                 hasLuce = false 
122                 hasGas = false 
123               /> 
124               <#list entryCategories as entryCategory> 
125                 <#if entryCategory.vocabularyId == vocabularyId> 
126                   <#switch entryCategory.name?lower_case> 
127                     <#case "luce"> 
128                       <#assign hasLuce = true /> 
129                       <#break /> 
130                     <#case "gas"> 
131                       <#assign hasGas = true /> 
132                       <#break /> 
133                     <#default> 
134                       <#break /> 
135                   </#switch> 
136                 </#if> 
137               </#list> 
138               <#if hasLuce || hasGas> 
139                 <span class="card-tag darkish-color smaller bolder"> 
140                   <#if hasLuce && hasGas> 
141                     Luce & Gas 
142                   <#elseif hasLuce> 
143                     Luce 
144                   <#elseif hasGas> 
145                     Gas 
146                   </#if> 
147                 </span> 
148               </#if> 
149               <a href="${friendlyUrl}"> 
150                                   <#if currentURL?contains("soluzioni-sostenibili") || currentURL?contains("mobilita-sostenibile")> 
151                                       <#if curEntry.getTitle(locale) == "Noleggio auto elettrica" > 
152                                           <#assign backgroundSize = "contain" /> 
153                                       <#else> 
154                                           <#assign backgroundSize = "cover" /> 
155                                       </#if> 
156                                       <div style="background: url('${immagineUrl}') center center no-repeat; background-size: ${backgroundSize}; height: 232px; border-radius: 10px 10px 0px 0px;"></div> 
157                                   <#else> 
158                     <img width="100" height="100" loading="lazy"  class="card-img-top h-auto" src="${immagineUrl}" alt="${curEntry.getTitle(locale)}" /> 
159                                   </#if> 
160               </a> 
161               <div class="card-body"> 
162                 <a href="${friendlyUrl}" class="greyish-brown"> 
163                   <h3 class="h4 card-title mb-0 gradient-text title-big letter-spacing-sm bolder">${curEntry.getTitle(locale)}</h3> 
164                                      <#if sottotitolo?has_content> 
165                   <h4 class="h6 d-block gradient-text x-bigger letter-spacing-sm mb-4">${sottotitolo}</h4> 
166                                      </#if> 
167                                    </a> 
168                   <#if curEntry.getSummary(locale)?has_content> 
169                     <div class="card-text greyish-brown small letter-spacing-sm">${curEntry.getSummary(locale)}</div> 
170                   </#if> 
171                                       <!-- 
172                                       <#if (offertaFlat?? && offertaFlat != "") || (offertaAConsumo?? && offertaAConsumo != "")> 
173                                           <div class="row text-center pt-3"> 
174                                               <#if offertaFlat?? && offertaFlat != ""> 
175                                                   <div class="col-lg-6"> 
176                                                       <div><span class="icon-ricarica gradient-text title-bigger"></span></div> 
177                                                       <div class="text-uppercase darkish-pink smaller bold">Offerta flat</div> 
178                                                       <div class="small">${offertaFlat}</div> 
179                                                   </div> 
180                                               </#if> 
181                                               <#if offertaAConsumo?? && offertaAConsumo != ""> 
182                                                   <div class="col-lg-6"> 
183                                                       <div><span class="icon-ricarica gradient-text title-bigger"></span></div> 
184                                                       <div class="text-uppercase darkish-pink smaller bold">Offerta a consumo</div> 
185                                                       <div class="small">${offertaAConsumo}</div> 
186                                                   </div> 
187                                               </#if> 
188                                           </div> 
189                                       </#if> 
190                                       <#if (primoTestoElenco?? && primoTestoElenco != "") || (secondoTestoElenco?? && secondoTestoElenco != "") || (terzoTestoElenco?? && terzoTestoElenco != "")> 
191                                           <div class="row align-items-center pt-4 text-center text-uppercase"> 
192                                               <#if primoTestoElenco?? && primoTestoElenco != ""> 
193                                                   <div class="col-lg-4"> 
194                                                       <div> 
195                                                           <span class="icon-check-list gradient-text title-bigger"></span> 
196                                                       </div> 
197                                                       <div class="medium smaller l12"> 
198                                                           ${primoTestoElenco} 
199                                                       </div> 
200                                                   </div> 
201                                               </#if> 
202                                               <#if secondoTestoElenco?? && secondoTestoElenco != ""> 
203                                                   <div class="col-lg-4"> 
204                                                       <div> 
205                                                           <span class="icon-check-list gradient-text title-bigger"></span> 
206                                                       </div> 
207                                                       <div class="medium smaller l12"> 
208                                                           ${secondoTestoElenco} 
209                                                       </div> 
210                                                   </div> 
211                                               </#if> 
212                                               <#if terzoTestoElenco?? && terzoTestoElenco != ""> 
213                                                   <div class="col-lg-4"> 
214                                                       <div> 
215                                                           <span class="icon-check-list gradient-text title-bigger"></span> 
216                                                       </div> 
217                                                       <div class="medium smaller l12"> 
218                                                           ${terzoTestoElenco} 
219                                                       </div> 
220                                                   </div> 
221                                               </#if> 
222                                           </div> 
223                                       </#if> 
224                                       --> 
225                   <#if scadenzaOfferta?has_content> 
226                     <#assign dataScadenzaOfferta = scadenzaOfferta?split("-") /> 
227                     <#if dataScadenzaOfferta?size == 3> 
228                       <p class="card-text warm-grey small letter-spacing-sm font-italic"> 
229                         Offerta valida fino al ${dataScadenzaOfferta[2]}/${dataScadenzaOfferta[1]}/${dataScadenzaOfferta[0]} 
230                       </p> 
231                     </#if> 
232                   </#if> 
233                  
234               </div> 
235               <div class="card-footer pb-4"> 
236                 <a href="${friendlyUrl}" class="btn btn-small gradient white small letter-spacing-sm">Scopri di più</a> 
237               </div> 
238             </div> 
239                            
240                           <#if itemCounter % 3 == 0> 
241                               </div> 
242                               <div class="card-deck"> 
243                           </#if> 
244                            
245                           <#if itemCounter == totalEntryCounter> 
246               ${emptyDiv} 
247                               </div> 
248                           </#if> 
249                       </#list> 
250                   </#if> 
251               </div> 
252           </div> 
253       </div> 
254   </div> 
255  </section> 

Trova le colonnine di ricarica pubblica

Trova le colonnine di ricarica pubblica

Sempre più presenti sul tuo territorio

Più di  3.000 colonnine già installate in tutto il territorio italiano. Scopri quella più vicina a te

Sempre più presenti sul tuo territorio

Più di  3.000 colonnine già installate in tutto il territorio italiano. Scopri quella più vicina a te

Fai il pieno di energia!

Trova il punto di ricarica direttamente dal tuo smartphone  tramite l’app HeraRicarica

Fai il pieno di energia!

Trova il punto di ricarica direttamente dal tuo smartphone  tramite l’app HeraRicarica

Numero verde Mobilità Elettrica

800.087.591

Per informazioni contrattuali dal lun. al ven. 8:00 - 18:00, il sabato 8:30 - 13:00.
Per assistenza tecnica tutti i giorni 24h su 24h.

Numero verde Mobilità Elettrica

800.087.591

Per informazioni contrattuali dal lun. al ven. 8:00 - 18:00, il sabato 8:30 - 13:00.
Per assistenza tecnica tutti i giorni 24h su 24h.

Siamo sempre disponibili a supportarti nel cambiamento.
Hai domande relative alla mobilità o alla ricarica o desideri maggiori informazioni?

Siamo sempre disponibili a supportarti nel cambiamento.
Hai domande relative alla mobilità o alla ricarica o desideri maggiori informazioni?

Dai rifiuti al biometano, una rivoluzione circolare

Dalla pattumiera al serbatoio di automobili e bus: è la seconda vita degli scarti alimentari, che tornano in pista attraverso un complesso processo produttivo per alimentare mezzi pubblici e  privati, con grandi benefici per la qualità dell’aria e dell’ambiente.

Scopri di più