An error occurred while processing the template.
Error on line 14, column 1 in 1882933#1882971#2222344 serviceLocator.findService("suggesto-gui-portlet","eu.suggesto.suggestogui.service.suggestoGuiLocalService") is undefined. It cannot be assigned to suggestoAPI
1<#--
2 ATL_ARTICOLO_ONECOLUMN.ftl
3 eCTRLSolutions
4 2018
5-->
6
7
8<#assign journalServiceAPI = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService") />
9<#assign JSONFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"]>
10<#assign pathpage="">
11
12<#assign dlService = serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService")>
13<#assign fileEntry = staticUtil["com.liferay.portlet.documentlibrary.service.DLFileEntryLocalServiceUtil"]>
14<#assign suggestoAPI = serviceLocator.findService("suggesto-gui-portlet","eu.suggesto.suggestogui.service.suggestoGuiLocalService")>
15<#assign SuggestoMarketspaceAPI = serviceLocator.findService("suggesto-mksp-portlet","eu.suggesto.marketspace.service.MkspDomainLocalService")>
16<#assign domainName = "domainLiferay" >
17<#assign defLng = "it_IT" >
18<#assign homeName = i18n("home")>
19<#assign articleId = .vars['reserved-article-id'].data>
20
21<#assign mapviewLabel= suggestoAPI.msg(companyId,groupId,"vedi-su-mappa",locale,"it",localeUtil.fromLanguageId("it_IT"))>
22<#assign webLabel= suggestoAPI.msg(companyId,groupId,"sito-web",locale,"it",localeUtil.fromLanguageId("it_IT"))>
23<#assign contattiLabel= suggestoAPI.msg(companyId,groupId,"contatti",locale,"it",localeUtil.fromLanguageId("it_IT"))>
24<#assign chiediinfoLabel= suggestoAPI.msg(companyId,groupId,"richiedi-info",locale,"it",localeUtil.fromLanguageId("it_IT"))>
25<#assign privacPolicy= suggestoAPI.msg(companyId,groupId,"privacy-policy",locale,"it",localeUtil.fromLanguageId("it_IT"))>
26
27
28<#assign szname = "">
29<#if name ??>
30 <#if name.getData()?has_content && name.getData() != "modello-atl-articolo-base-non-cancellare">
31
32 <#assign szname=name.getData()>
33 <#elseif locale.language != "it">
34 <#assign journalArticle = journalServiceAPI.getLatestArticle(groupId?number,articleId)/>
35 <#assign document = saxReaderUtil.read(journalArticle.getContent())>
36 <#assign rootElement = document.getRootElement()>
37 <#assign szname = getLiferayDocSingleField(rootElement,"name","it_IT")>
38 </#if>
39</#if>
40
41<#assign szclaimText = "">
42<#if claimText ??>
43<#if claimText.getData()?has_content>
44 <#assign szclaimText=claimText.getData()>
45</#if>
46</#if>
47
48<#if request['theme-display'] ??>
49 <#assign themeDisplay = request['theme-display']>
50</#if>
51
52<#assign cdnHost = "">
53<#if request['theme-display'] ??>
54 <#assign cdnHost = request['theme-display']['cdn-host'] >
55</#if>
56
57<#assign thereareLink="false">
58<#if titleLink?? >
59 <#if titleLink.getSiblings()?has_content>
60 <#list titleLink.getSiblings() as cur_i>
61 <#if cur_i.getData()?has_content>
62 <#assign thereareLink="true">
63 </#if>
64 </#list>
65 </#if>
66</#if>
67<#assign thereareDownload="false">
68<#if download?? >
69 <#if download.getSiblings()?has_content>
70 <#list download.getSiblings() as cur_i>
71 <#if cur_i.getData()?has_content>
72 <#assign thereareDownload="true">
73 </#if>
74 </#list>
75 </#if>
76</#if>
77<#assign geoRefValue = "">
78<#assign lat = "">
79<#assign lng = "">
80<#if geoRef ??>
81 <#if geoRef.getData()?has_content >
82 <#assign ldata = geoRef.getData() !>
83 <#assign adata=ldata?split(",")>
84 <#assign lat=adata[0] >
85 <#assign lng=adata[1] >
86 <#assign geoRefValue = lat+","+lng>
87 </#if>
88</#if>
89<!-- HTML DETTAGLIO ARTICOLO-->
90
91<section id="detail">
92 <div class="container-fluid-big py-5">
93 <h1 class="text-uppercase slim mt-0 mt-md-5 mb-3">
94 <#if szclaimText != "" >${szclaimText}<br/></#if><span class="bold-dark">${szname}</span>
95 </h1>
96 <#-- Breadcrumb -->
97 <#include "${templatesPath}/2118663">
98 <div class="dropdown-divider my-2 pb-4"></div>
99
100 <div class="row">
101 <#-- main -->
102 <div class="col-12" data-aos='fade'>
103
104
105 <#if previewImage ??>
106 <#if previewImage.getData()?has_content>
107 <img src="${previewImage.getData()}" class="img-fluid">
108 </#if>
109 </#if>
110 <div class="mt-1">
111 <#if longDesc ?? >
112 <#if longDesc.getData()?has_content >
113 ${longDesc.getData()}
114 <#elseif locale.language != "it">
115 <#assign journalArticle = journalServiceAPI.getLatestArticle(groupId?number,articleId)/>
116 <#assign document = saxReaderUtil.read(journalArticle.getContent())>
117 <#assign rootElement = document.getRootElement()>
118 <#assign desc = getLiferayDocSingleField(rootElement,"longDesc","it_IT")>
119 ${desc}
120 </#if>
121 </#if>
122 <div class="dropdown-divider"></div>
123 </div>
124 <@gallery />
125 <#include "${templatesPath}/2202617" >
126 </div>
127
128 <#-- end main -->
129 </div>
130 </div>
131</section>
132<#macro gallery>
133<#assign hasContentSlider = false >
134<#assign curGallery = 0>
135<#if mainImageFolder ??>
136 <#if mainImageFolder.getData() != "">
137 <#assign mainImage = mainImageFolder.getData()>
138 <#if mainImage ??>
139 <#assign startFrom=mainImage?last_index_of("/")+1>
140
141 <#assign endTo=mainImage?last_index_of("?")-1>
142
143 <#if endTo gt 0 >
144 <#assign mainImageUid = mainImage[startFrom..endTo]>
145 <#assign curGallery = dlService.getFileEntryByUuidAndGroupId(mainImageUid,groupId).folderId?number>
146 <#assign hasContentSlider = true >
147 </#if>
148 </#if>
149 </#if>
150</#if>
151
152<#if hasContentSlider == true>
153 <#if curGallery !=0>
154 <#assign dlFiles = dlService.getFileEntries(groupId, curGallery)>
155 <#assign defImage="">
156 <#assign counterimg= 0 >
157 <div id="slideshow" class="carousel slide" data-ride="carousel">
158 <div class="carousel-inner">
159 <#list dlFiles as dlFile >
160 <#assign defImage="">
161 <#if dlFile.getFileVersion().status == 0>
162 <#if dlFile.getFileVersion().description != "HIDE">
163 <#assign uet = httpUtil.encodeURL(htmlUtil.unescape(dlFile.getTitle()))>
164 <#if defImage=="">
165 <#assign defImage="${cdnHost}/documents/${groupId}/${curGallery}/${uet}">
166 <#assign defImage=defImage+"?width=700&height=450">
167 </#if>
168 <#if counterimg == 0>
169 <div class="carousel-item active">
170 <img src="${defImage}" class="w-100" alt="">
171 </div>
172 <#else>
173 <div class="carousel-item">
174 <img src="${defImage}" class="w-100" alt="">
175 </div>
176 </#if>
177 <#assign counterimg= counterimg+1>
178 </#if>
179 </#if>
180 </#list>
181 </div>
182 <#if counterimg != 0>
183 <div class="carousel-controls d-flex w-100 position-absolute">
184 <div class="btn view-mode btn-dark rounded-0 ml-auto m-1" data-target="#slideshow" data-slide="prev">
185 <i class="fa fa-chevron-left text-white"></i>
186 </div>
187 <div class="btn view-mode btn-dark rounded-0 m-1" data-target="#slideshow" data-slide="next">
188 <i class="fa fa-chevron-right text-white"></i>
189 </div>
190 </div>
191 </#if>
192 </div>
193 </#if>
194</#if>
195</#macro>
196
197<#macro infosection>
198<#if contactPhone.getData()?has_content || contactFax.getData()?has_content || contactEmail.getData()?has_content || contactWeb.getData()?has_content || contactFacebook.getData()?has_content>
199 <div class="social-contacts">
200 <p class="text-uppercase font-weight-bold border-bottom border-dark mt-5">${contattiLabel}</p>
201 <#if contactPhone ??>
202 <#if contactPhone.getData()?has_content >
203 <div class="row">
204 <div class="col-auto px-0">
205 <span class="fa-stack fa-lg text-white">
206 <i class="fa fa-square fa-stack-1x text-dark"></i>
207 <i class="fa fa-phone fa-stack-1x smaller"></i>
208 </span>
209 </div>
210 <div class="col d-flex align-items-center pl-0">
211 <a href="tel:${contactPhone.getData()}" class="small mb-0">${i18n("tel")}: ${contactPhone.getData()}</a>
212 </div>
213 </div>
214 </#if>
215 </#if>
216 <#if contactFax ??>
217 <#if contactFax.getData()?has_content >
218 <div class="row">
219 <div class="col-auto px-0">
220 <span class="fa-stack fa-lg text-white">
221 <i class="fa fa-square fa-stack-1x text-dark"></i>
222 <i class="fa fa-fax fa-stack-1x smaller"></i>
223 </span>
224 </div>
225 <div class="col d-flex align-items-center pl-0">
226 <a href="fax:${contactFax.getData()}" class="small mb-0">Fax: ${contactFax.getData()}</a>
227 </div>
228 </div>
229 </#if>
230 </#if>
231 <#if contactEmail ??>
232 <#if contactEmail.getData()?has_content >
233 <div class="row">
234 <div class="col-auto px-0">
235 <span class="fa-stack fa-lg text-white">
236 <i class="fa fa-square fa-stack-1x text-dark"></i>
237 <i class="fa fa-envelope fa-stack-1x smaller"></i>
238 </span>
239 </div>
240 <div class="col d-flex align-items-center pl-0">
241 <a href="mailto:${contactEmail.getData()}" class="mail-contact small mb-0">${contactEmail.getData()}</a>
242 </div>
243 </div>
244 <div class="row">
245 <div class="col-auto px-0">
246 <span class="fa-stack fa-lg text-white">
247 <i class="fa fa-square fa-stack-1x text-dark"></i>
248 <i class="fa fa-lock fa-stack-1x smaller"></i>
249 </span>
250 </div>
251 <div class="col d-flex align-items-center pl-0">
252 <a href="/privacy-policy" class="mail-contact small mb-0">${i18n("leggi-informativa-privacy")}</a>
253 </div>
254 </div>
255 </#if>
256 </#if>
257 <#if contactWeb ??>
258 <#if contactWeb.getData()?has_content>
259 <#if contactWeb.getData()?starts_with("http://") || contactWeb.getData()?starts_with("https://") >
260 <#assign weblink = contactWeb.getData()>
261 <#else>
262 <#assign weblink = "http://"+ contactWeb.getData()>
263 </#if>
264 <div class="row">
265 <div class="col-auto px-0">
266 <span class="fa-stack fa-lg text-white">
267 <i class="fa fa-square fa-stack-1x text-dark"></i>
268 <i class="fa fa-globe fa-stack-1x smaller"></i>
269 </span>
270 </div>
271 <div class="col d-flex align-items-center pl-0">
272 <p class="small mb-0"><a href="${weblink}" class="weblink" title="${contactWeb.getData()}">${i18n("sito-web")} </a></p>
273 </div>
274 </div>
275 </#if>
276 </#if>
277 <#if contactFacebook ??>
278 <#if contactFacebook.getData()?has_content>
279 <div class="row">
280 <div class="col-auto px-0">
281 <span class="fa-stack fa-lg text-white">
282 <i class="fa fa-square fa-stack-1x text-dark"></i>
283 <i class="fa fa-facebook fa-stack-1x smaller"></i>
284 </span>
285 </div>
286 <div class="col d-flex align-items-center pl-0">
287 <p class="small mb-0"><a href="${contactFacebook.getData()}" title="${contactFacebook.getData()}">Facebook</a></p>
288 </div>
289 </div>
290 </#if>
291 </#if>
292 </div>
293</#if>
294</#macro>
295
296<#macro linklist>
297<#if thereareLink == "true">
298<div class="informations">
299<#if titoloBox != "" ><p class="text-uppercase font-weight-bold border-bottom border-dark mt-5">Altri links utili</p></#if>
300 <div class="row section-mode1">
301 <div class="col-md-12">
302 <#list titleLink.getSiblings() as item>
303 <#if item.getData()?has_content>
304 <#if item.urlLink.getData()?starts_with("http://") || item.urlLink.getData()?starts_with("https://")>
305 <#assign urlLink = item.urlLink.getData()>
306 <#else>
307 <#assign urlLink = "http://"+ item.urlLink.getData()>
308 </#if>
309 <#assign testoLink = item.getData()>
310 <a href="${urlLink}"><i class=" icon-link"></i>${testoLink}</a>
311 <br/>
312 </#if>
313 </#list>
314 </div>
315 </div>
316</div>
317</#if>
318
319</#macro>
320
321<#macro downloadlist>
322<#if thereareDownload == "true">
323<div class="informations">
324<#if titoloBox != "" ><p class="text-uppercase font-weight-bold border-bottom border-dark mt-5">Download</p></#if>
325 <div class="row section-mode1">
326 <div class="col-md-12">
327 <#list download.getSiblings() as item>
328 <#if item.getData()?has_content>
329 <#assign urlDownload = item.getData()>
330 <#assign doctitle = "" >
331 <#assign fileType = "">
332 <#assign counter = 0 >
333
334 <!-- informazioni sul file -->
335 <#list urlDownload?split("/") as x>
336 <#if counter == 2>
337 <#assign groupIDdoc = x?number >
338 </#if>
339 <#if counter == 4>
340 <#assign filename = x >
341 </#if>
342 <#if counter == 5>
343 <#assign uuId = x >
344 </#if>
345 <#assign counter = counter+1 >
346 </#list>
347 <#assign start=urlDownload?last_index_of("/")+1>
348 <#assign end=urlDownload?last_index_of("?")-1>
349 <#if end != -2>
350 <#assign mainDocUid = urlDownload[start..end]>
351 <#assign file=fileEntry.getFileEntryByUuidAndGroupId(mainDocUid, groupIDdoc) >
352 <#else>
353 <#assign file=fileEntry.getFileEntryByUuidAndGroupId(uuId, groupIDdoc) >
354 </#if>
355 <#assign fileType = file.getMimeType()> <!--tipo di file --->
356
357 <#if item.downloadTitle.getData()?has_content>
358 <#assign doctitle = item.downloadTitle.getData()>
359 <#else>
360 <#assign doctitle = urlDownload>
361 </#if>
362 <a href="${urlDownload}" title="${doctitle}" ><i class="icon_cloud-download_alt"></i>${doctitle}</a>
363 <br/>
364 </#if>
365 </#list>
366 </div>
367 </div>
368</div>
369</#if>
370</#macro>
371
372<#macro testingLocation>
373<#if locationName?? >
374<#if locationName.getData()?has_content >
375<#assign thereIsLocation="true">
376</#if>
377</#if>
378<#if locationAddress?? >
379<#if locationAddress.getData()?has_content >
380<#assign thereIsLocation="true">
381</#if>
382</#if>
383<#if locationPlace?? >
384<#if locationPlace.getData()?has_content >
385<#assign thereIsLocation="true">
386</#if>
387</#if>
388</#macro>
389
390<#function i18n labelId>
391 <#assign ret = labelId>
392 <#assign ret=SuggestoMarketspaceAPI.msgAll(groupId?string,domainName,labelId,locale.toString(),defLng) >
393 <#return ret>
394</#function>
395<#function getLiferayDocSingleField rootEl fieldName localeToRead>
396 <#assign stringSelector = "dynamic-element[@name='${fieldName}']/dynamic-content[@language-id = '" + localeToRead+ "']">
397 <#assign xPathSelector = saxReaderUtil.createXPath(stringSelector)>
398 <#assign ret = "">
399 <#if xPathSelector.selectSingleNode(rootEl)??>
400 <#assign ret = xPathSelector.selectSingleNode(rootEl).getStringValue()>
401
402 </#if>
403 <#return ret>
404</#function>