Soluzioni sostenibili
Hera Sanifica Aria business
Rigenera l’aria del tuo ufficio: riduci fino a 99,9% di virus e batteri.
Hera Scaldacqua Business
Una soluzione sostenibile per riscaldare l'acqua all'interno della tua attività
Hera Caldaia Business
Con Hera Caldaia il più alto standard di risparmio energetico, performance e comfort entra nella tua attività.
Hera Caldaia Sicura Business
Manutenzione e assistenza per garantirti due anni di sicurezza ed efficienza
Hera NoProblem Business
Scegli le polizze assicurative contro i guasti agli impianti elettrici e gas della tua attività
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#94270" at line 16, column 33] - Reached through: #assign-container [in template "20099#20135#94270" at line 15, column 29] ----
1<#assign prefUrl = layout.getGroup().getDisplayURL(themeDisplay, false) />
2<section id="per-risparmiare" class="d-none d-lg-block">
3 <div class="container-fluid card-deck-bg pb-5">
4 <div class="container">
5 <div class="row">
6 <div class="col-lg-10 offset-lg-1 px-lg-5">
7 <#if entries?has_content>
8 <#list entries as curEntry>
9 <#assign
10 assetRenderer = curEntry.getAssetRenderer()
11 docXml = saxReaderUtil.read(assetRenderer.getArticle().getContentByLocale(locale.toString()))
12 layoutServiceUtil = objectUtil("com.liferay.portal.kernel.service.LayoutServiceUtil")
13 />
14
15 <#assign
16 articleLayout = layoutServiceUtil.getLayoutByUuidAndGroupId(assetRenderer.getArticle().getLayoutUuid(), themeDisplay.getScopeGroupId(), false)
17 friendlyUrl = articleLayout.getFriendlyURL(locale)
18 title = assetRenderer.getTitle(local)
19 summary = assetRenderer.getSummary(local)
20 ImmagineCard = docXml.valueOf("//dynamic-element[@name='ImmaginePiccola']/dynamic-content/text()")
21 />
22 <#if prefUrl != "">
23 <#assign friendlyUrl = prefUrl + friendlyUrl />
24 </#if>
25 <#list "${ImmagineCard}"?split(",") as imageTmpSingleVar>
26 <#assign imageSingleVar = imageTmpSingleVar?split(":") />
27 <#if imageSingleVar[0]?contains("groupId")>
28 <#assign immagineStrGroupID = imageSingleVar[1]?replace('"', '') />
29 <#elseif imageSingleVar[0]?contains("name")>
30 <#assign
31 immagineStrName = imageSingleVar[1]?replace('"', '')
32 immagineStrName = immagineStrName?replace(' ', '+')
33 />
34 <#elseif imageSingleVar[0]?contains("uuid")>
35 <#assign immagineStrUUID = imageSingleVar[1]?replace('"', '') />
36 </#if>
37 </#list>
38 <#assign immagineUrl = "" />
39 <#if immagineStrGroupID?? && immagineStrName?? && immagineStrUUID??>
40 <#assign immagineUrl = "/documents/" + immagineStrGroupID + "/0/" + immagineStrName + "/" + immagineStrUUID />
41 </#if>
42 <#if (curEntry?index%2) == 0 >
43 <#-- caso immagine a sx-->
44 <div class="card-deck card-deck-alt">
45 <div class="card card-horizontal">
46 <div class="card-body">
47 <div class="row h-100" style="padding: 0px 15px;">
48 <div class="col-lg-6 pr-lg-0 overflow-hidden" style="background: url('${immagineUrl}') no-repeat center center; background-size: cover; border-top-left-radius: 10px; border-bottom-left-radius: 10px;">
49 </div>
50 <div class="col-lg-6">
51 <div class="card-content">
52 <h3 class="card-title mb-3">
53 <a href="#" class="gradient-text title-big letter-spacing-sm bolder">${title}</a>
54 </h3>
55 <p class="card-text greyish-brown small letter-spacing-sm">${summary}</p>
56 <ul class="list-unstyled l2">
57 <li>
58 <i class="icon-portale gradient-text align-middle mr-3"></i>
59 <span class="text-uppercase greyish-brown smaller bolder letter-spacing-sm">${docXml.valueOf("//dynamic-element[@name='TestoElenco'][1]")}</span>
60 </li>
61 <li>
62 <i class="icon-portale gradient-text align-middle mr-3"></i>
63 <span class="text-uppercase greyish-brown smaller bolder letter-spacing-sm">${docXml.valueOf("//dynamic-element[@name='TestoElenco'][2]")}</span>
64 </li>
65 <li>
66 <i class="icon-portale gradient-text align-middle mr-3"></i>
67 <span class="text-uppercase greyish-brown smaller bolder letter-spacing-sm">${docXml.valueOf("//dynamic-element[@name='TestoElenco'][3]")}</span>
68 </li>
69 </ul>
70 <div class="card-footer p-0">
71 <a href="${friendlyUrl}" class="btn btn-small gradient white small letter-spacing-sm">Scopri di più</a>
72 </div>
73 </div>
74 </div>
75 </div>
76 </div>
77 </div>
78 </div>
79 <#else>
80 <#-- classi e impostazione html per caso invertito "immagine a dx" -->
81 <div class="card-deck card-deck-alt">
82 <div class="card card-horizontal">
83 <div class="card-body">
84 <div class="row h-100" style="padding: 0px 15px;">
85 <div class="col-lg-6 order-2 order-lg-1">
86 <div class="card-content">
87 <h3 class="card-title mb-3">
88 <a href="#" class="gradient-text title-big letter-spacing-sm bolder">${title}</a>
89 </h3>
90 <p class="card-text greyish-brown small letter-spacing-sm">${summary}</p>
91 <ul class="list-unstyled l2">
92 <li>
93 <i class="icon-portale gradient-text align-middle mr-3"></i>
94 <span class="text-uppercase greyish-brown smaller bolder letter-spacing-sm">${docXml.valueOf("//dynamic-element[@name='TestoElenco'][1]")}</span>
95 </li>
96 <li>
97 <i class="icon-portale gradient-text align-middle mr-3"></i>
98 <span class="text-uppercase greyish-brown smaller bolder letter-spacing-sm">${docXml.valueOf("//dynamic-element[@name='TestoElenco'][2]")}</span>
99 </li>
100 <li>
101 <i class="icon-portale gradient-text align-middle mr-3"></i>
102 <span class="text-uppercase greyish-brown smaller bolder letter-spacing-sm">${docXml.valueOf("//dynamic-element[@name='TestoElenco'][3]")}</span>
103 </li>
104 </ul>
105 <div class="card-footer p-0">
106 <a href="${friendlyUrl}" class="btn btn-small gradient white small letter-spacing-sm">Scopri di più</a>
107 </div>
108 </div>
109 </div>
110 <div class="col-lg-6 order-lg-2 order-1 pl-lg-0 overflow-hidden text-right" style="background: url('${immagineUrl}') no-repeat center center; background-size: cover; border-top-right-radius: 10px; border-bottom-right-radius: 10px;">
111 </div>
112 </div>
113 </div>
114 </div>
115 </div>
116 </#if>
117 </#list>
118 </#if>
119 </div>
120 </div>
121 </div>
122 </div>
123</section>
124
125<!-- Mobile -->
126
127<section id="per-risparmiare-mobile" class="mobile d-lg-none">
128 <div class="container-fluid card-deck-bg pb-5">
129 <div class="container">
130 <div class="row">
131 <div class="col-lg-10 offset-lg-1 px-lg-5">
132 <#if entries?has_content>
133 <#list entries as curEntry>
134 <#assign
135 assetRenderer = curEntry.getAssetRenderer()
136 docXml = saxReaderUtil.read(assetRenderer.getArticle().getContentByLocale(locale.toString()))
137 layoutServiceUtil = objectUtil("com.liferay.portal.kernel.service.LayoutServiceUtil")
138 articleLayout = layoutServiceUtil.getLayoutByUuidAndGroupId(assetRenderer.getArticle().getLayoutUuid(), themeDisplay.getScopeGroupId(), false)
139 friendlyUrl = articleLayout.getFriendlyURL(locale)
140 title = assetRenderer.getTitle(local)
141 summary = assetRenderer.getSummary(local)
142 ImmagineCard = docXml.valueOf("//dynamic-element[@name='ImmaginePiccola']/dynamic-content/text()")
143 />
144 <#if prefUrl != "">
145 <#assign friendlyUrl = prefUrl + friendlyUrl />
146 </#if>
147 <#list "${ImmagineCard}"?split(",") as imageTmpSingleVar>
148 <#assign imageSingleVar = imageTmpSingleVar?split(":") />
149 <#if imageSingleVar[0]?contains("groupId")>
150 <#assign immagineStrGroupID = imageSingleVar[1]?replace('"', '') />
151 <#elseif imageSingleVar[0]?contains("name")>
152 <#assign
153 immagineStrName = imageSingleVar[1]?replace('"', '')
154 immagineStrName = immagineStrName?replace(' ', '+')
155 />
156 <#elseif imageSingleVar[0]?contains("uuid")>
157 <#assign immagineStrUUID = imageSingleVar[1]?replace('"', '') />
158 </#if>
159 </#list>
160 <#assign immagineUrl = "" />
161 <#if immagineStrGroupID?? && immagineStrName?? && immagineStrUUID??>
162 <#assign immagineUrl = "/documents/" + immagineStrGroupID + "/0/" + immagineStrName + "/" + immagineStrUUID />
163 </#if>
164 <div class="card-deck card-deck-alt">
165 <div class="card card-vertical">
166 <div class="col-lg-6 pr-lg-0 overflow-hidden" style="background: url('${immagineUrl}') no-repeat center center; background-size: cover; border-top-left-radius: 10px; border-top-right-radius: 10px;;min-height:150px;">
167 </div>
168 <div class="card-body">
169 <div class="row h-100" style="padding: 0px 15px;">
170 <div class="col-xs-12">
171 <div class="card-content">
172 <h3 class="card-title mb-3">
173 <a href="#" class="gradient-text title-big letter-spacing-sm bolder">${title}</a>
174 </h3>
175 <p class="card-text greyish-brown small letter-spacing-sm">${summary}</p>
176 <ul class="list-unstyled l2">
177 <li>
178 <i class="icon-portale gradient-text align-middle mr-3"></i>
179 <span class="text-uppercase greyish-brown smaller bolder letter-spacing-sm">${docXml.valueOf("//dynamic-element[@name='TestoElenco'][1]")}</span>
180 </li>
181 <li>
182 <i class="icon-portale gradient-text align-middle mr-3"></i>
183 <span class="text-uppercase greyish-brown smaller bolder letter-spacing-sm">${docXml.valueOf("//dynamic-element[@name='TestoElenco'][2]")}</span>
184 </li>
185 <li>
186 <i class="icon-portale gradient-text align-middle mr-3"></i>
187 <span class="text-uppercase greyish-brown smaller bolder letter-spacing-sm">${docXml.valueOf("//dynamic-element[@name='TestoElenco'][3]")}</span>
188 </li>
189 </ul>
190 <div class="card-footer p-0">
191 <a href="${friendlyUrl}" class="btn btn-small gradient white small letter-spacing-sm">Scopri di più</a>
192 </div>
193 </div>
194 </div>
195 </div>
196 </div>
197 </div>
198 </div>
199 </#list>
200 </#if>
201 </div>
202 </div>
203 </div>
204 </div>
205</section>
Hai bisogno di aiuto?
Entra in contatto gratuitamente con i nostri consulenti energetici.