Offerte luce e gas per professionisti e Partite IVA
/documents/83408/0/img_canvas_mobile_professionisti_11zon+%282%29.webp/788271f0-fa35-856d-48b9-e8cf81a3a07c?t=1790701570971
Gruppo Hera Luce e Gas Business Luce e Gas Partite IVA e professionisti
Partite IVA e professionisti
Partite IVA e professionistiGruppo Hera Luce e Gas Business Luce e Gas Partite IVA e professionisti
Partite IVA e professionisti
Vuoi risparmiare tempo?
Carica la tua bolletta e fatti richiamare gratuitamente per ricevere una consulenza personalizzata
Vuoi risparmiare tempo?
Carica la tua bolletta e fatti richiamare gratuitamente per ricevere una consulenza personalizzata
Diario dei Consumi
Comprendi come variano le tue abitudini nel tempo, confrontale con aziende simili alla tua e riduci i consumi
Confronto con altre aziende
Tracciabilità dei tuoi consumi nel tempo
Consigli per risparmiare
Conosci, monitora e analizza i consumi energetici della tua azienda per essere più efficiente
Per gestire al meglio la tua energia
Per gestire al meglio la tua energia
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#94274" at line 31, column 21]
----
1<#assign prefUrl = layout.getGroup().getDisplayURL(themeDisplay, false) />
2<#if themeDisplay.getScopeGroup().getParentGroupId() gt 0>
3 <#assign scopeGroupId = themeDisplay.getScopeGroup().getParentGroupId() />
4<#else>
5 <#assign scopeGroupId = themeDisplay.getScopeGroupId() />
6</#if>
7<section id="boxgrid">
8 <#if entries?has_content>
9 <div class="container d-none d-lg-block">
10 <h3 class="h4 greyish-brown text-uppercase small bolder mb-3">
11 Prodotti e servizi</h3>
12 <div class="row h-100">
13 <#list entries as curEntry>
14 <#assign
15 assetRenderer = curEntry.getAssetRenderer()
16 docXml = saxReaderUtil.read(assetRenderer.getArticle().getContent())
17 Context = docXml.valueOf("//dynamic-element[@name='SelectContext']/dynamic-content/text()")
18 immagineSoIn = docXml.valueOf("//dynamic-element[@name='imageSoIn']/dynamic-content/text()")
19 titoloAbstract = docXml.valueOf("//dynamic-element[@name='TitoloAbstract']/dynamic-content/text()")
20 testoAbstract = docXml.valueOf("//dynamic-element[@name='TestoAbstract']/dynamic-content/text()")
21 linkPulsante = docXml.valueOf("//dynamic-element[@name='LinkPulsante']/dynamic-content/text()")
22 testoPulsante = docXml.valueOf("//dynamic-element[@name='TestoPulsante']/dynamic-content/text()")
23 />
24 <#assign immagineUrl = "" />
25 <#assign docJson = jsonFactoryUtil.createJSONObject(immagineSoIn) />
26 <#if immagineSoIn!="">
27 <#assign immagineUrl = "/documents/" + docJson.groupId + "/0/" + docJson.name + "/" + docJson.uuid />
28 </#if>
29 <#assign
30 layoutServiceUtil = objectUtil("com.liferay.portal.kernel.service.LayoutServiceUtil")
31 articleLayout = layoutServiceUtil.getLayoutByUuidAndGroupId(assetRenderer.getArticle().getLayoutUuid(), scopeGroupId, false)
32 friendlyUrl = articleLayout.getFriendlyURL(locale)
33 />
34 <#if prefUrl != "">
35 <#assign friendlyUrl = prefUrl + friendlyUrl />
36 </#if>
37 <div class="col-md-4 mb-5 mb-md-0">
38 <a href="${friendlyUrl}" class="black-three small letter-spacing-sm">
39 <div class="tile pb-4">
40 <img loading="lazy" style="aspect-ratio: 1.26 / 1;" src="${immagineUrl}" alt="${assetRenderer.getTitle(locale)}" class="w-100" />
41 <div id="imm-test-link-tile" class="tile-content">
42 <h4 class="h5 x-bigger gradient-text bolder letter-spacing-sm">${assetRenderer.getTitle(locale)}</h4>
43 <div class="black-three">
44
45 <#attempt>
46 ${curEntry.getSummary(locale)}
47 <#recover>
48 </#attempt>
49 <p id="imm-test-link-button" class="my-2 black-three small letter-spacing-sm medium position-absolute">
50 ${languageUtil.get(locale, "leggi-di-piu")} <i class="icon-arrow-r align-middle darkish-color"></i>
51 </p>
52 </div>
53 </div>
54 </div>
55 </a>
56 </div>
57 </#list>
58 </div>
59 </div>
60
61 <!-- Mobile -->
62
63 <div class="container mobile d-lg-none">
64 <h3 class="h4 greyish-brown text-uppercase small bolder mb-3">Prodotti e servizi</h3>
65 <div class="row h-100">
66 <#list entries as curEntry>
67 <#assign
68 assetRenderer = curEntry.getAssetRenderer()
69 docXml = saxReaderUtil.read(assetRenderer.getArticle().getContent())
70 Context = docXml.valueOf("//dynamic-element[@name='SelectContext']/dynamic-content/text()")
71 immagineSoIn = docXml.valueOf("//dynamic-element[@name='imageSoIn']/dynamic-content/text()")
72 titoloAbstract = docXml.valueOf("//dynamic-element[@name='TitoloAbstract']/dynamic-content/text()")
73 testoAbstract = docXml.valueOf("//dynamic-element[@name='TestoAbstract']/dynamic-content/text()")
74 linkPulsante = docXml.valueOf("//dynamic-element[@name='LinkPulsante']/dynamic-content/text()")
75 testoPulsante = docXml.valueOf("//dynamic-element[@name='TestoPulsante']/dynamic-content/text()")
76 />
77 <#assign immagineUrl = "" />
78 <#assign docJson = jsonFactoryUtil.createJSONObject(immagineSoIn) />
79 <#if immagineSoIn!="">
80 <#assign immagineUrl = "/documents/" + docJson.groupId + "/0/" + docJson.name + "/" + docJson.uuid />
81 </#if>
82 <#assign
83 layoutServiceUtil = objectUtil("com.liferay.portal.kernel.service.LayoutServiceUtil")
84 articleLayout = layoutServiceUtil.getLayoutByUuidAndGroupId(assetRenderer.getArticle().getLayoutUuid(), scopeGroupId, false)
85 friendlyUrl = articleLayout.getFriendlyURL(locale)
86 />
87 <#if prefUrl != "">
88 <#assign friendlyUrl = prefUrl + friendlyUrl />
89 </#if>
90 <div class="mb-5 mb-md-0">
91 <a href="${friendlyUrl}" class="black-three small letter-spacing-sm">
92 <div class="tile pb-1">
93 <div>
94 <img style="height: 200px; object-fit: cover; width:100%; object-position:top; " loading="lazy" src="${immagineUrl}" alt="${assetRenderer.getTitle(locale)}" />
95
96 <div class="p-4" >
97 <p class="h5 bigger gradient-text bolder letter-spacing-sm">${assetRenderer.getTitle(locale)}</p>
98 <div class="black-three">
99 <#attempt>
100 ${curEntry.getSummary(locale)}
101 <#recover>
102 </#attempt>
103 </div>
104 </div>
105 </div>
106 </div>
107 </a>
108 </div>
109 </#list>
110 </div>
111 </div>
112 </#if>
113</section>




