An error occurred while processing the template.
The following has evaluated to null or missing:
==> offerResults.getResponse()  [in template "20099#20135#33911" at line 829, column 38]

----
Tip: If the failing expression is known to be 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: #assign offerResponse = offerResults...  [in template "20099#20135#33911" at line 829, column 13]
----
1<#--ITINERARIO ESERCIZIO 10/06/2025--> 
2<style> 
3    .link-list .link-container:last-child { 
4        border-bottom: 4px solid #395a3e; 
5
6 
7    .link-sidebar-1 .link .label { 
8        font-size: 1.1rem; 
9
10</style> 
11<#assign structureService = serviceLocator.findService("it.inera.structure.service.StructureService")> 
12<#assign itinerarioStructureKey = structureService.getStructureItinerarioKey()> 
13<#assign itinerarioStructureId = structureService.getStructureItinerarioId()> 
14<#assign elasticService = serviceLocator.findService("it.inera.elastic.service.ElasticService")> 
15<#assign journalArticleId = .vars['reserved-article-id'].data/> 
16 
17<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
18<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
19<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
20 
21<#-- GESTIONE RALATED ASSETS IMPORTS--> 
22<#assign journalArticleConverter = serviceLocator.findService("it.inera.journalarticleconverter.service.JournalArticleConverter")> 
23<#assign searchService = serviceLocator.findService("it.inera.structure.search.service.SearchService")> 
24<#-- FINE GESTIONE RALATED ASSETS IMPORTS--> 
25 
26<#assign vocabularyIdUmbria = structureService.getVocabularyIdByVocabularyName("Vocabolario Umbria") > 
27 
28<#if coordinate_principali.getData()?has_content && coordinate_principali.getData()?trim?length gt 0 > 
29    <#assign coordinatePrincipaliJson = coordinate_principali.getData()?eval > 
30    <#if coordinatePrincipaliJson.latitude?has_content && coordinatePrincipaliJson.latitude?trim?length gt 0 > 
31        <#assign latitude = coordinatePrincipaliJson.latitude?c > 
32    </#if> 
33    <#if coordinatePrincipaliJson.longitude?has_content && coordinatePrincipaliJson.longitude?trim?length gt 0 > 
34        <#assign longitude = coordinatePrincipaliJson.longitude?c > 
35    </#if> 
36<#else> 
37    <#assign latitude = "" > 
38    <#assign longitude = "" > 
39</#if> 
40 
41<#assign currentArticle = journalArticleLocalService.getArticle(groupId, journalArticleId) /> 
42 
43<#-- GESTIONE ASSET LINGUA DI DEFAULT --> 
44<#assign currentObjectDefaultLanguage = journalArticleConverter.getItinerario(currentArticle, localeUtil.getDefault())> 
45 
46<#-- GESTIONE RALATED ASSETS VALORIZZAZIONE ARRAY--> 
47<#assign currentObject = journalArticleConverter.getItinerario(currentArticle, themeDisplay.getLocale())> 
48<#assign relatedAssets = currentObject.getDirectRelatedAssets()> 
49<#assign relatedResults = []> 
50<#if relatedAssets?? && relatedAssets?has_content> 
51    <#assign relatedResult = searchService.getResponse(relatedAssets, themeDisplay.getLocale(), null, themeDisplay)> 
52    <#if relatedResult?? && relatedResult?has_content> 
53        <#assign relatedResults = relatedResult.getData()> 
54    </#if> 
55</#if> 
56<#-- GESTIONE RALATED ASSETS VALORIZZAZIONE ARRAY--> 
57 
58<#assign currentArticleResourcePrimKey = currentArticle.getResourcePrimKey() /> 
59<#assign currentArticleAssetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", currentArticleResourcePrimKey) /> 
60<#assign currentArticleAssetEntryId = currentArticleAssetEntry.getEntryId() /> 
61 
62<#assign categoryList = assetCategoryLocalService.getAssetEntryAssetCategories(currentArticleAssetEntryId) > 
63 
64<#assign vocabularyIdTerritori = structureService.getVocabularyIdByVocabularyName("Territori") > 
65<#assign categoryListIds = [] > 
66<#assign municipalityNames = [] > 
67<#assign municipalityNamesString = "" > 
68<#assign isTerritorio = false > 
69<#assign territoryNameString = "" > 
70 
71<#assign hasTappe = false > 
72<#assign hasTappewithGeolocation = false > 
73<#if tappa.getData()?has_content> 
74    <#list tappa.getSiblings() as cur_tappa> 
75        <#if cur_tappa.titolo_tappa.getData()?has_content> 
76            <#assign hasTappe = true > 
77        </#if> 
78 
79        <#if (cur_tappa?has_content && cur_tappa.comune?has_content && cur_tappa.comune.geolocalizzazione?has_content 
80        && cur_tappa.comune.geolocalizzazione.getData() != "" && cur_tappa.comune.geolocalizzazione.getData()?has_content)> 
81            <#list cur_tappa.comune.getSiblings() as comune_tappa> 
82                <#if comune_tappa?has_content && comune_tappa.geolocalizzazione?has_content && comune_tappa.geolocalizzazione.getData()?has_content> 
83                    <#assign geolocationJSONObject = jsonFactoryUtil.createJSONObject(comune_tappa.geolocalizzazione.getData())> 
84                    <#assign latitude = geolocationJSONObject.getDouble("latitude")> 
85                    <#assign longitude = geolocationJSONObject.getDouble("longitude")> 
86                    <#if latitude?has_content && longitude?has_content> 
87                        <#assign hasTappewithGeolocation = true> 
88                        <#break> 
89                    </#if> 
90                </#if> 
91            </#list> 
92        </#if> 
93 
94    </#list> 
95</#if> 
96 
97<#if hasTappewithGeolocation> 
98    <#assign latitude = "" > 
99    <#assign longitude = "" > 
100</#if> 
101 
102<#list categoryList as category> 
103    <#if vocabularyIdUmbria == category.getVocabularyId() > 
104        <#assign categoryListIds = categoryListIds + [category.getCategoryId()]> 
105    </#if> 
106</#list> 
107 
108 
109<#list categoryList as category> 
110    <#if vocabularyIdTerritori == category.getVocabularyId() > 
111        <#assign municipalityName = category.getTitle(themeDisplay.getLanguageId()) > 
112 
113        <#assign childCategories = assetCategoryLocalService.getChildCategories(category.getCategoryId()) > 
114        <#if childCategories?has_content> 
115            <#assign territoryNameString = category.getTitle(themeDisplay.getLanguageId())> 
116            <#list childCategories as curChildCategory> 
117                <#assign isTerritorio = true > 
118                <#assign municipalityNameC = curChildCategory.getTitle(themeDisplay.getLanguageId()) > 
119                <#if curChildCategory?counter != 1 || municipalityNamesString?has_content> 
120                    <#assign municipalityNamesString = municipalityNamesString + "," + municipalityNameC> 
121                <#else> 
122                    <#assign municipalityNamesString = municipalityNamesString + municipalityNameC> 
123                </#if> 
124                <#assign municipalityNames = municipalityNames + [municipalityNameC]> 
125            </#list> 
126        <#else> 
127            <#assign municipalityNames = municipalityNames + [municipalityName]> 
128            <#if municipalityNamesString?has_content> 
129                <#assign municipalityNamesString = municipalityNamesString + "," + municipalityName> 
130            <#else> 
131                <#assign municipalityNamesString = municipalityNamesString + municipalityName> 
132            </#if> 
133        </#if> 
134    </#if> 
135</#list> 
136 
137<#assign isgu = structureService.isGroupUmbria(themeDisplay)> 
138<#assign sitiESottositiCategories = ""> 
139<#if !isgu> 
140    <#assign sitiESottositiCategories = structureService.getSiteCategoryIdsByVocabularyName(themeDisplay, "Siti-e-sottositi")> 
141</#if> 
142<#if validator.isNotNull(sitiESottositiCategories)> 
143    <#list sitiESottositiCategories as cat> 
144        <#assign categoryListIds = categoryListIds + [cat]> 
145    </#list> 
146</#if> 
147 
148<#if isgu> 
149    <#assign results = elasticService.getRelatedArticlesOrderByPriority(themeDisplay, latitude, longitude, distanza.getData(), itinerarioStructureKey, itinerarioStructureId?c, locale, "6", null , null, journalArticleId, null, null, null) /> 
150<#else> 
151    <#assign results = elasticService.getRelatedArticlesOrderByPriority(themeDisplay, latitude, longitude, distanza.getData(), itinerarioStructureKey, itinerarioStructureId?c, locale, "6", null , sitiESottositiCategories, journalArticleId, null, null, null) /> 
152</#if> 
153 
154<#-- per categoria --> 
155 
156<#assign categoryArray=[]> 
157<#assign assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")> 
158<#assign vocabularyName = "Vocabolario Umbria"/> 
159<#assign specificVocabulary = assetVocabularyLocalService.getGroupVocabulary(themeDisplay.getCompany().getGroupId(), vocabularyName)/> 
160<#if validator.isNotNull(specificVocabulary)> 
161    <#assign cats = specificVocabulary.getCategories()/> 
162</#if> 
163 
164<#assign categories = assetCategoryLocalService.getAssetEntryAssetCategories(currentArticleAssetEntryId) /> 
165<#if validator.isNotNull(cats)> 
166    <#list cats as cat> 
167        <#list categories as cate> 
168            <#if cat == cate> 
169                <#assign categoryArray = categoryArray + [cat]> 
170            </#if> 
171        </#list> 
172    </#list> 
173</#if> 
174 
175<#--<#if categoryArray?? && categoryArray?has_content> 
176    <#assign firstCategory = categoryArray[0] /> 
177    <#assign titleCategory = firstCategory.getTitle(themeDisplay.getLocale())> 
178</#if>--> 
179 
180<#-- per categoria FINE --> 
181 
182<#assign widthBannerImg = propsUtil.get("image.scale.fullpage") /> 
183<#assign widthSliderTappaImg = propsUtil.get("image.slider.testobarra.height") /> 
184<#assign widthSliderImg = propsUtil.get("image.slider.testobarra.height") /> 
185<#assign widthCardImg = propsUtil.get("image.scale.allpage") /> 
186<#assign tomBaseImagePath = propsUtil.get("tom.base.image.url") /> 
187 
188<#assign urlBanner = immagine_banner.getData() > 
189<#assign testAlternativoImmagineBanner = testo_alternativo_immagine_banner.getData() > 
190<#attempt> 
191    <#if currentObjectDefaultLanguage?? && currentObjectDefaultLanguage?has_content && currentObjectDefaultLanguage.getImmagineBanner()?has_content> 
192        <#assign urlBanner = currentObjectDefaultLanguage.getImmagineBanner().getUrl() > 
193    </#if> 
194    <#if currentObjectDefaultLanguage?? && currentObjectDefaultLanguage?has_content && currentObjectDefaultLanguage.getTestoAlternativoImmagineBanner()?has_content> 
195        <#assign testAlternativoImmagineBanner = currentObjectDefaultLanguage.getTestoAlternativoImmagineBanner() > 
196    </#if> 
197    <#recover> 
198        <#assign urlBanner = immagine_banner.getData() > 
199        <#assign testAlternativoImmagineBanner = testo_alternativo_immagine_banner.getData() > 
200</#attempt> 
201 
202<#if urlBanner?contains("?")> 
203    <#assign urlBanner = urlBanner + "&width=" + widthBannerImg > 
204<#else> 
205    <#assign urlBanner = urlBanner + "?width=" + widthBannerImg > 
206</#if> 
207 
208<div class="container-fluid"> 
209    <div class="row"> 
210        <div class="header-block header-block-1 header-block-image-main header-block-tagged"> 
211 
212            <img class="bg" src="${urlBanner}" alt="${testAlternativoImmagineBanner}"> 
213            <div class="container title title-main"> 
214                <div class="row"> 
215                    <div class="col-12"> 
216                        <#assign titleCategory = ""> 
217                        <#assign titleParentCategory = ""> 
218                        <#list categoryList as category> 
219                            <#if vocabularyIdUmbria == category.getVocabularyId() > 
220                                <#assign titleCategory = category.getTitle(themeDisplay.getLocale())> 
221                                <#assign parentCategoryId = category.getParentCategoryId()> 
222                                <#if parentCategoryId?? && parentCategoryId?has_content && parentCategoryId != 0> 
223                                    <#assign pc = assetCategoryLocalService.getCategory(parentCategoryId) > 
224                                    <#if pc?? && pc?has_content> 
225                                        <#assign titleParentCategory = pc.getTitle("it_IT")> 
226                                    </#if> 
227                                </#if> 
228                                <#if titleCategory?? && titleCategory?has_content> 
229                                    <span class="hidden" id="tagmanager_init_pagegroup">${titleParentCategory}</span> 
230                                    <span class="hidden" id="tagmanager_init_pagecategory">${titleCategory}</span> 
231                                    <div class="badge badge-light badge-uppercase"> 
232                                        ${titleCategory} 
233                                    </div> 
234                                </#if> 
235                            </#if> 
236                        </#list> 
237                        <h1 class="title-1 text-weight-300 margin-top-em-0 margin-bottom-em-0"> 
238                            ${titolo.getData()} 
239                        </h1> 
240                    </div> 
241                </div> 
242            </div> 
243        </div> 
244    </div> 
245</div> 
246<#assign categoryArray=[]> 
247 
248 
249<#assign count = 0 /> 
250<#if dati_tecnici_chiave?? && dati_tecnici_chiave?has_content > 
251    <#list dati_tecnici_chiave.getSiblings() as cur_dati_tecnici_chiave> 
252        <#if cur_dati_tecnici_chiave.dati_tecnici_valore?? && cur_dati_tecnici_chiave.dati_tecnici_valore.getData()?has_content > 
253            <#assign count = count + 1 /> 
254        </#if> 
255    </#list> 
256</#if> 
257 
258<#if count gt 0 > 
259    <#assign dividendo = 12/count /> 
260</#if> 
261 
262<div class="container-fluid bg-white"> 
263    <#if count gt 0 && count lt 4> 
264        <div class="row flex-column-reverse flex-lg"> 
265            <div class="container bridge bridge-top"> 
266                <div class="row"> 
267                    <div class="col-12"> 
268                        <div class="card-bar card-bar-1 card-bar-dark"> 
269                            <div class="card-row"> 
270                                <#list dati_tecnici_chiave.getSiblings() as cur_dati_tecnici_chiave> 
271                                    <div class="col-${dividendo}"> 
272                                        <div class="card card-horizontal card-3"> 
273                                            <div class="card-row"> 
274                                                <div class="card-icon card-item-first"> 
275                                                    <i class="fas ${cur_dati_tecnici_chiave.dati_tecnici_icona.getData()}"></i> 
276                                                </div> 
277                                                <div class="card-body"> 
278                                                    <div class="row"> 
279                                                        <div class="col-12"> 
280                                                            <div class="card-subtitle title-6"> 
281                                                                ${cur_dati_tecnici_chiave.getData()} 
282                                                            </div> 
283                                                        </div> 
284                                                        <div class="col-12"> 
285                                                            <div class="card-title"> 
286                                                                ${cur_dati_tecnici_chiave.dati_tecnici_valore.getData()} 
287                                                            </div> 
288                                                        </div> 
289                                                    </div> 
290                                                </div> 
291                                            </div> 
292                                        </div> 
293                                    </div> 
294                                </#list> 
295                            </div> 
296                        </div> 
297                    </div> 
298                </div> 
299            </div> 
300        </div> 
301    </#if> 
302 
303    <div class="row"> 
304        <article class="container padding-bottom-em-4"> 
305            <div class="row"> 
306 
307                <div class="col-12"> 
308                    <div class="text-left link-back-container margin-left-rem-1"><a class="link-1 link-back margin-top-em-2 padding-left-rem-1" id="backLink" href="#"><i class="im im-angle-left"></i><span class="hidden display-inline-lg"><@liferay.language key="label.indietro" /></span></a></div> 
309                    <div class="text-center padding-top-em-2"> 
310                        <div class="link-1 link-toggle-map"></div> 
311                    </div> 
312                    <div class="link-tripplanner-container"> 
313                        <#assign currentUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() /> 
314                        <a data-id="${journalArticleId}" class="link link-tripplanner link-tripplanner-1 link-tripplanner-extended link-tripplanner-top-right margin-right-em-1 padding-right-rem-1" href="${currentUrl}" data-tom="false"> 
315                            <i class="far fa-heart text-red"></i> 
316                            <i class="fas fa-heart text-red" style="display:none"></i> 
317                            <span class="label hidden display-inline-lg"><@liferay.language key="label.aggiungi.al.mio.viaggio" /></span> 
318                        </a> 
319                    </div> 
320 
321                    <div class="hidden infos"> 
322                        <div class="hidden" id="tagmanager_item_"> 
323                            <span id="tagmanager_item_id">${currentArticleAssetEntryId}</span> 
324                            <span id="tagmanager_item_category">${titleCategory}</span> 
325                            <span id="tagmanager_item_name">${titolo.getData()}</span> 
326                            <span id="tagmanager_item_list_name">${titleCategory}</span> 
327                            <span id="tagmanager_item_list_id"></span> 
328                            <span id="tagmanager_item_brand">${titleParentCategory}</span> 
329                            <span id="tagmanager_index">1</span> 
330                        </div> 
331                    </div> 
332                </div> 
333 
334 
335                <div class="col-12 col-md-8"> 
336                    <div class="text-block text-block-left"> 
337                        <div class="title-4 padding-bottom-em-1 mt-5 e mt-lg-0"> 
338                            ${sottotitolo.getData()} 
339                        </div> 
340                        <div class="text"> 
341                            ${descrizione.getData()} 
342                        </div> 
343 
344 
345                        <#if hasTappe?c = "false"> 
346                            <br> 
347                            <#if validator.isNotNull(descrizione_due.getData()) && descrizione_due.getData() != '<p>null</p>'> 
348                                <div class="text"> 
349                                    ${descrizione_due.getData()} 
350                                </div> 
351                            </#if> 
352                        </#if> 
353                    </div> 
354                </div> 
355 
356 
357                <#assign fileKml = "" /> 
358                <#assign checkFileKml = false /> 
359                <#assign urlFileKml = "" /> 
360 
361                <#assign fileGps = "" /> 
362                <#assign checkFileGps = false /> 
363                <#assign urlFileGps = "" /> 
364                <#assign urlFileGpsNoWaypoints = ""> 
365 
366                <#assign countFile = 0 /> 
367                <#if file_tecnici?? && file_tecnici?has_content> 
368                    <#list file_tecnici.getSiblings() as cur_file_tecnici> 
369                        <#if cur_file_tecnici.file.getData()?? && cur_file_tecnici.file.getData()?has_content > 
370 
371                            <#assign counter = 0 > 
372 
373                            <#list cur_file_tecnici.file.getData()?split("/") as x> 
374                                <#if counter == 2> 
375                                    <#assign groupIdd = x?number > 
376                                </#if> 
377                                <#if counter == 5> 
378                                    <#assign uuId = x > 
379                                    <#if uuId?contains("?t=") > 
380                                        <#assign uuid = uuId?keep_before("?t=") /> 
381                                    </#if> 
382                                </#if> 
383                                <#assign counter = counter + 1 > 
384                            </#list> 
385 
386                            <#assign fileEntry = serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryLocalService') /> 
387                            <#assign file=fileEntry.getFileEntryByUuidAndGroupId(uuid,groupIdd) > 
388 
389                            <#if file.getExtension() == "kml" > 
390                                <#assign fileKml = file /> 
391                                <#assign checkFileKml = true /> 
392                                <#assign countFile = countFile - 1 /> 
393                                <#assign urlFileKml = "/documents/"+ fileKml.getGroupId() +"/" +fileKml.getClassPK() +"/"+ fileKml.getTitle() +"/"+fileKml.getUuid() > 
394                            </#if> 
395 
396                            <#if file.getExtension() == "gpx" > 
397                                <#assign fileGps = file /> 
398                                <#if fileGps?has_content> 
399                                    <#assign fileGpsNoWaypoints = currentObject.removeMarkerFromGpxItinerario(fileGps, themeDisplay)> 
400                                <#else> 
401                                    <#assign fileGpsNoWaypoints = ""> 
402                                </#if> 
403 
404                                <#assign checkFileGps = true /> 
405                                <#assign urlFileGps = "/documents/"+ fileGps.getGroupId() +"/" +fileGps.getClassPK() +"/"+ fileGps.getTitle() +"/"+fileGps.getUuid() > 
406                                <#if fileGpsNoWaypoints?has_content> 
407                                    <#assign  urlFileGpsNoWaypoints = "/documents/"+ fileGpsNoWaypoints.getGroupId() +"/" +fileGpsNoWaypoints.getClassPK() +"/"+ fileGpsNoWaypoints.getTitle() +"/"+fileGpsNoWaypoints.getUuid()> 
408                                </#if> 
409 
410                            </#if> 
411 
412                            <#assign countFile = countFile + 1 /> 
413                        </#if> 
414                    </#list> 
415                </#if> 
416 
417                <div class="col-md-4"  style="margin-top:5rem;"> 
418                    <#if countFile gt 0> 
419                        <div class="text-block text-block-1"> 
420                            <div class="link-sidebar link-sidebar-1"> 
421                                <div class="title" style="border-top: 4px solid #395a3e; margin-top: 40px; padding-top: 1.5rem;"> 
422                                    <@liferay.language key="label.download"/> 
423                                </div> 
424                                <ul class="link-list"> 
425                                    <#list file_tecnici.getSiblings() as cur_file_tecnici> 
426                                        <#if !cur_file_tecnici.getData()?contains("kml")> 
427                                            <li class="link-container"> 
428                                                <a class="link" href="${cur_file_tecnici.file.getData()}"> 
429                                                    <i class="fas fa-angle-right"></i> 
430                                                    <span class="label"> 
431														<#if cur_file_tecnici.getData()?? && cur_file_tecnici.getData()?has_content> 
432                                                            ${cur_file_tecnici.getData()} 
433                                                        <#else> 
434                                                            Scarica traccia completa 
435                                                        </#if> 
436                                                    </span> 
437                                                </a> 
438                                            </li> 
439                                        </#if> 
440                                    </#list> 
441                                </ul> 
442                            </div> 
443                        </div> 
444                    </#if> 
445                    <#if titolo_link_card?? && titolo_link_card.getData()?has_content> 
446 
447                        <#assign titoloLinkCardList = titolo_link_card.getSiblings()![]> 
448 
449                        <#list titoloLinkCardList as item> 
450                            <#assign titoloLink = item.getData()?string!"" /> 
451                            <#assign sottotitoloLink = item.getChild("sottotitolo_link_card")?has_content?then(item.getChild("sottotitolo_link_card").getData()?string, "") /> 
452                            <#assign urlLink = item.getChild("url_link_card").getData()?string!"" /> 
453                            <#assign immagineLink = item.getChild("immagine_link_card").getData()?string!"" /> 
454 
455                            <#if urlLink?has_content && titoloLink?has_content && immagineLink?has_content> 
456                                <div class="mb-4"> 
457                                    <div class="card card-horizontal card-event-1 card-event-default h-100"> 
458                                        <a class="card-link" href="${urlLink}" aria-label="${titoloLink}"></a> 
459                                        <span class="card-row"> 
460											<span class="card-image aspect-ratio card-item-first"> 
461												<img class="aspect-ratio-item aspect-ratio-item-center-ceil aspect-ratio-item-fluid bike-card" 
462                                                     src="${immagineLink}" alt="${titoloLink}"> 
463											</span> 
464											<span class="card-body"> 
465												<div class="row"> 
466													<div class="col-12"> 
467														<span class="card-title" style="font-size:20px;">${titoloLink}</span> 
468													</div> 
469													<#if sottotitoloLink?has_content> 
470                                                        <div class="col-12"> 
471															<span class="card-subtitle title-6">${sottotitoloLink}</span> 
472														</div> 
473                                                    </#if> 
474												</div> 
475											</span> 
476										</span> 
477                                    </div> 
478                                </div> 
479                            </#if> 
480                        </#list> 
481                    </#if> 
482                </div> 
483            </div> 
484        </article> 
485    </div> 
486    <#assign non_visualizzare_la_mappa = non_visualizzare_la_mappa!false> 
487 
488    <#if non_visualizzare_la_mappa?is_hash> 
489        <#assign non_visualizzare_la_mappa_value = non_visualizzare_la_mappa.getData()?trim> 
490        <#if non_visualizzare_la_mappa_value?has_content> 
491            <#assign non_visualizzare_la_mappa_bool = non_visualizzare_la_mappa_value?boolean> 
492        <#else> 
493            <#assign non_visualizzare_la_mappa = false> 
494            <#assign non_visualizzare_la_mappa_bool = false> 
495        </#if> 
496    <#else> 
497        <#assign non_visualizzare_la_mappa_bool = false> 
498    </#if> 
499 
500    <#--  Mostra campo accessibilita  --> 
501    <#if accessibilita.getData()?? && accessibilita.getData()?has_content> 
502        <div class="container-fluid bg-white"> 
503            <div class="row"> 
504                <article class="container"> 
505                    <div class="row"> 
506                        <div class="col-12 col-md-8"> 
507                            <div class="text-block text-block-left"> 
508                                <div class="text"> 
509                                    <strong><@liferay.language key="label.accessibilita" /></strong> 
510                                    ${accessibilita.getData()} 
511                                </div> 
512                            </div> 
513                        </div> 
514                    </div> 
515                </article> 
516            </div> 
517        </div> 
518    </#if> 
519 
520    <#--  Mostra campo sicurezza  --> 
521    <#if sicurezza.getData()?? && sicurezza.getData()?has_content> 
522        <div class="container-fluid bg-white"> 
523            <div class="row"> 
524                <article class="container"> 
525                    <div class="row"> 
526                        <div class="col-12 col-md-8"> 
527                            <div class="text-block text-block-left"> 
528                                <div class="text"> 
529                                    <strong><@liferay.language key="label.sicurezza" /></strong> 
530                                    ${sicurezza.getData()} 
531                                </div> 
532                            </div> 
533                        </div> 
534                    </div> 
535                </article> 
536            </div> 
537        </div> 
538    </#if> 
539 
540    <#if non_visualizzare_la_mappa_bool> 
541        <!-- mappa non visualizzata --> 
542 
543    <#else> 
544 
545        <div class="container-fluid"> 
546            <div class="row"> 
547                <div class="map map-container map-banner"> 
548                    <div class="map-content"> 
549                        <div class="leaflet-interactive-map map-summary-itinerary" id="map-itinerary" data-config="{&quot;otherTemplate&quot;:true, &quot;isItinerary&quot;:true}" data-kml="${urlFileKml}" data-gpx="${urlFileGpsNoWaypoints}"></div> 
550                    </div> 
551                </div> 
552            </div> 
553        </div> 
554        <#if (latitude?has_content && longitude?has_content)> 
555            <div class="itinerary-stage" id="" data-lat="${latitude}" data-lng="${longitude}" data-img="" data-title="${titolo.getData()}" data-info="${titolo.getData()}" style="display:none;" data-altri-data="{&quot;data-altri-data&quot;:true}"></div> 
556        </#if> 
557    </#if> 
558 
559    <#if tappa.getData()?has_content> 
560        <div class="container-fluid bg-white"> 
561            <div class="row padding-top-em-5"> 
562                <div class="container"> 
563                    <div class="row"> 
564                        <div class="col-12 col-md-10 col-lg-8"> 
565                            <#list tappa.getSiblings() as cur_tappa> 
566                                <#assign latitude = 0> 
567                                <#assign longitude = 0> 
568 
569                            <#--CICLO COORDINATE TAPPA--> 
570                                <#assign coords = []> 
571                                <#assign coordsObj = ""> 
572                                <#if (cur_tappa?has_content && cur_tappa.comune?has_content && cur_tappa.comune.geolocalizzazione?has_content && cur_tappa.comune.geolocalizzazione.getData() != "" && cur_tappa.comune.geolocalizzazione.getData()?has_content)> 
573                                    <#list cur_tappa.comune.getSiblings() as comune_tappa> 
574 
575                                        <#if comune_tappa?has_content && comune_tappa.geolocalizzazione?has_content && comune_tappa.geolocalizzazione.getData()?has_content> 
576 
577                                            <#assign geolocationJSONObject = jsonFactoryUtil.createJSONObject(comune_tappa.geolocalizzazione.getData())> 
578                                            <#assign latitude = geolocationJSONObject.getDouble("latitude")> 
579                                            <#assign longitude = geolocationJSONObject.getDouble("longitude")> 
580 
581                                            <#assign info = ""> 
582                                            <#if (comune_tappa.via_piazza?has_content && comune_tappa.via_piazza.getData() != "")> 
583                                                <#assign info = info + comune_tappa.via_piazza.getData()> 
584                                            </#if> 
585 
586                                            <#if (comune_tappa.localita?has_content && comune_tappa.localita.getData() != "")> 
587                                                <#assign info = info + " " + comune_tappa.localita.getData()> 
588                                            </#if> 
589 
590                                            <#if (comune_tappa.cap?has_content && comune_tappa.cap.getData() != "")> 
591                                                <#assign info = info + " " + comune_tappa.cap.getData()> 
592                                            </#if> 
593 
594                                            <#if (comune_tappa.getData() != "")> 
595                                                <#assign info = info + " " + comune_tappa.getData()> 
596                                            </#if> 
597 
598                                            <#assign info = info?replace("\"","&quot;")> 
599                                            <#assign info = info?replace("'","&#39;")> 
600 
601                                            <#assign coord = {"lat" : latitude, "lng" : longitude, "info": info}> 
602                                            <#assign coords = coords + [coord]> 
603 
604                                        </#if> 
605 
606                                    </#list> 
607                                    <#assign coordsObj = jsonFactoryUtil.looseSerializeDeep(coords)> 
608                                </#if> 
609                            <#--FINE CICLO COORDINATE TAPPA--> 
610 
611                                <#if (cur_tappa?has_content && 
612                                cur_tappa.comune?has_content && 
613                                cur_tappa.comune.geolocalizzazione?has_content && 
614                                cur_tappa.comune.geolocalizzazione.getData() != "")> 
615                                    <#assign geolocationJSONObject = jsonFactoryUtil.createJSONObject(cur_tappa.comune.geolocalizzazione.getData())> 
616                                    <#assign latitude = geolocationJSONObject.getDouble("latitude")> 
617                                    <#assign longitude = geolocationJSONObject.getDouble("longitude")> 
618                                </#if> 
619 
620                                <#assign info = ""> 
621 
622                                <#if (cur_tappa?has_content && cur_tappa.comune?has_content && cur_tappa.comune.via_piazza?has_content && 
623                                cur_tappa.comune.via_piazza.getData() != "")> 
624                                    <#assign info = info + cur_tappa.comune.via_piazza.getData()> 
625                                </#if> 
626 
627                                <#if (cur_tappa?has_content && cur_tappa.comune?has_content && cur_tappa.comune.localita?has_content && 
628                                cur_tappa.comune.localita.getData() != "")> 
629                                    <#assign info = info + " " + cur_tappa.comune.localita.getData()> 
630                                </#if> 
631 
632                                <#if (cur_tappa?has_content && cur_tappa.comune?has_content && cur_tappa.comune.cap?has_content && 
633                                cur_tappa.comune.cap.getData() != "")> 
634                                    <#assign info = info + " " + cur_tappa.comune.cap.getData()> 
635                                </#if> 
636 
637                                <#if (cur_tappa?has_content && cur_tappa.comune?has_content &&  cur_tappa.comune.getData() != "")> 
638                                    <#assign info = info + " " + cur_tappa.comune.getData()> 
639                                </#if> 
640 
641                                <#if cur_tappa.titolo_immagine_tappa.immagine_tappa.getData()?? && cur_tappa.titolo_immagine_tappa.immagine_tappa.getData()?has_content> 
642                                    <#assign data_img = cur_tappa.titolo_immagine_tappa.immagine_tappa.getData()> 
643                                <#else> 
644                                    <#assign data_img = ""/> 
645                                </#if> 
646 
647                                <#assign dataMarkerLabel = cur_tappa.getData()> 
648 
649                                <div class="itinerary-stage" id="${cur_tappa.titolo_tappa.getData()?replace("’","-")?replace(" ", "-")?replace("(", "")?replace(")", "")}" data-img="${data_img}" data-title="${cur_tappa.titolo_tappa.getData()}" data-lat="${latitude}" data-lng="${longitude}" data-info="${info}" data-coords='${coordsObj}' data-altri-data="{&quot;data-altri-data&quot;:true}" data-marker-label="${dataMarkerLabel}"> 
650                                    <div class="row"> 
651                                        <div class="col-2"> 
652                                            <div class="itinerary-sidebar"> 
653                                                <div class="marker"> 
654                                                    <img src="/o/umbria-theme/images/icons/leaflet/marker-icon.svg" alt="Marker"> 
655                                                    <div class="marker-label text-red">${cur_tappa.getData()}</div> 
656                                                </div> 
657                                                <div class="track"></div> 
658                                            </div> 
659                                        </div> 
660                                        <div class="col-10"> 
661                                            <div class="itinerary-body padding-bottom-em-5"> 
662                                                <div class="title">${cur_tappa.titolo_tappa.getData()}</div> 
663                                                <#if cur_tappa.titolo_immagine_tappa.getData()?has_content> 
664                                                    <div class="image-container" style="margin-bottom:3rem;"> 
665                                                        <div class="carousel-container transparent"> 
666                                                            <div class="tns-carousel tns-carousel-default" data-tns-config="{&quot;items&quot;:1,&quot;autoplay&quot;:true,&quot;autoplayHoverPause&quot;:true,&quot;autoplayButtonOutput&quot;:false,&quot;speed&quot;:1000}"> 
667                                                                <#list cur_tappa.titolo_immagine_tappa.getSiblings() as titolo_immagine_tappa> 
668                                                                    <div> 
669                                                                        <#assign linkImmagine = ""> 
670                                                                        <#if titolo_immagine_tappa.immagine_tappa.getData()?contains("?")> 
671                                                                            <#assign linkImmagine = titolo_immagine_tappa.immagine_tappa.getData() + "&width=" + widthSliderTappaImg > 
672                                                                        <#else> 
673                                                                            <#assign linkImmagine = titolo_immagine_tappa.immagine_tappa.getData() + "?width=" + widthSliderTappaImg > 
674                                                                        </#if> 
675 
676                                                                        <#assign altImg = ""/> 
677                                                                        <#if titolo_immagine_tappa.testo_alternativo_tappa?? && titolo_immagine_tappa.testo_alternativo_tappa.getData()?has_content && titolo_immagine_tappa.testo_alternativo_tappa.getData() != "null"> 
678                                                                            <#assign altImg = titolo_immagine_tappa.testo_alternativo_tappa.getData()/> 
679                                                                        <#else> 
680                                                                            <#if cur_tappa.titolo_tappa.getData()?has_content> 
681                                                                                <#assign altImg = "Immagine: " + cur_tappa.titolo_tappa.getData()/> 
682                                                                            </#if> 
683                                                                        </#if> 
684                                                                        <img class="slide-image" src="${linkImmagine}" alt="${altImg}"> 
685                                                                        <#if titolo_immagine_tappa.didascalia_immagine_tappa.getData()?? 
686                                                                        && titolo_immagine_tappa.didascalia_immagine_tappa.getData()?has_content 
687                                                                        && titolo_immagine_tappa.didascalia_immagine_tappa.getData()?trim?length gt 0 
688                                                                        && titolo_immagine_tappa.didascalia_immagine_tappa.getData()?trim != "null"> 
689                                                                            <p class="caption" style="margin-bottom: 12px;">${titolo_immagine_tappa.didascalia_immagine_tappa.getData()}</p> 
690                                                                        </#if> 
691                                                                    </div> 
692                                                                </#list> 
693                                                            </div> 
694                                                        </div> 
695                                                    </div> 
696                                                </#if> 
697                                                <#if cur_tappa.descrizione_tappa.getData()?has_content && cur_tappa.descrizione_tappa.getData()?trim != "null"> 
698                                                    <div class="text-block-expandable"> 
699                                                        <div class="text"> 
700                                                            ${cur_tappa.descrizione_tappa.getData()} 
701                                                        </div> 
702                                                    </div> 
703                                                    <div class="margin-top-em-2 btn btn-flat btn-default btn-small btn-text-block-expand show-more" data-showmore="<@liferay.language key="label.leggi.di.piu" />" data-showless="<@liferay.language key="label.leggi.di.meno" />"><@liferay.language key="label.leggi.di.piu" /></div> 
704                                                </#if> 
705                                            </div> 
706                                        </div> 
707                                    </div> 
708                                </div> 
709                            </#list> 
710                        </div> 
711                    </div> 
712                </div> 
713            </div> 
714        </div> 
715    </#if> 
716 
717 
718    <#if hasTappe?c = "true"> 
719        <#if validator.isNotNull(descrizione_due.getData()) && descrizione_due.getData() != '<p>null</p>'> 
720            <div class="container-fluid bg-white"> 
721                <div class="row"> 
722                    <article class="container padding-bottom-em-3"> 
723                        <div class="row"> 
724                            <div class="col-12 col-md-8"> 
725                                <div class="text-block text-block-left"> 
726                                    <div class="text"> 
727                                        ${descrizione_due.getData()} 
728                                    </div> 
729                                </div> 
730                            </div> 
731                        </div> 
732                    </article> 
733                </div> 
734            </div> 
735        </#if> 
736    </#if> 
737 
738 
739 
740 
741 
742    <#if descrizione_immagine?? && descrizione_immagine.getSiblings()?has_content && descrizione_immagine.getSiblings()?size gt 0 && descrizione_immagine.getSiblings()[0].immagine.getData()?? && descrizione_immagine.getSiblings()[0].immagine.getData()?has_content> 
743        <div class="container-fluid bg-white"> 
744            <div class="row"> 
745                <div class="carousel-container carousel-no-ctrl transparent margin-bottom-em-1 tns-overflow-show carousel-image-slide carousel-draggable"> 
746                    <div class="tns-carousel tns-carousel-no-ctrl" data-tns-config="{&quot;autoWidth&quot;:true,&quot;items&quot;:2,&quot;autoplay&quot;:false, 
747                    &quot;responsive&quot;:{&quot;768&quot;:{&quot;items&quot;:3},&quot;992&quot;:{&quot;items&quot;:4}}}"> 
748                        <#if descrizione_immagine?? && descrizione_immagine.getSiblings()?has_content> 
749                            <#list descrizione_immagine.getSiblings() as cur_descrizione_immagine> 
750                                <div class="item-with-caption"> 
751 
752                                    <#assign linkImmagine = ""> 
753                                    <#if cur_descrizione_immagine.immagine.getData()?contains("?")> 
754                                        <#assign linkImmagine = cur_descrizione_immagine.immagine.getData() + "&width=1082"> 
755                                    <#else> 
756                                        <#assign linkImmagine = cur_descrizione_immagine.immagine.getData() + "?width=1082"> 
757                                    </#if> 
758 
759                                    <img class="slide-image" src="${linkImmagine}" alt="${cur_descrizione_immagine.testo_alternativo.getData()}"> 
760                                    <#if cur_descrizione_immagine.didascalia.getData()?? && cur_descrizione_immagine.didascalia.getData()?has_content && cur_descrizione_immagine.didascalia.getData()?trim?length gt 0 && cur_descrizione_immagine.didascalia.getData()?trim != "null"> 
761                                        <p class="caption">${cur_descrizione_immagine.didascalia.getData()}</p> 
762                                    </#if> 
763                                </div> 
764                            </#list> 
765                        </#if> 
766                    </div> 
767                </div> 
768            </div> 
769        </div> 
770    <#else> 
771        <#attempt> 
772            <#if currentObjectDefaultLanguage?? && currentObjectDefaultLanguage?has_content && currentObjectDefaultLanguage.getImmagini()?has_content> 
773                <div class="container-fluid bg-white"> 
774                    <div class="row"> 
775                        <div class="carousel-container carousel-no-ctrl transparent margin-bottom-em-1 tns-overflow-show carousel-image-slide carousel-draggable"> 
776                            <div class="tns-carousel tns-carousel-no-ctrl" data-tns-config="{&quot;autoWidth&quot;:true,&quot;items&quot;:2,&quot;autoplay&quot;:false,&quot;responsive&quot;:{&quot;768&quot;:{&quot;items&quot;:3},&quot;992&quot;:{&quot;items&quot;:4}}}"> 
777                                <#list currentObjectDefaultLanguage.getImmagini() as imm> 
778                                    <div class="item-with-caption"> 
779                                        <#if imm.getImmagine()?? && imm.getImmagine()?has_content && imm.getImmagine().getUrl()?? && imm.getImmagine().getUrl()?has_content> 
780                                            <img class="slide-image" src="${imm.getImmagine().getUrl()}?width=1082" alt="${imm.getTestoAlternativo()}"> 
781                                            <#if imm.getDidascalia()?? && imm.getDidascalia()?has_content && imm.getDidascalia()?trim?length gt 0 && imm.getDidascalia()?trim != "null"> 
782                                                <p class="caption">${imm.getDidascalia()}</p> 
783                                            </#if> 
784                                        </#if> 
785                                    </div> 
786                                </#list> 
787                            </div> 
788                        </div> 
789                    </div> 
790                </div> 
791            </#if> 
792            <#recover> 
793 
794        </#attempt> 
795    </#if> 
796 
797 
798    <#assign lang = "it"/> 
799    <#if themeDisplay.getLanguageId()?contains("_")> 
800        <#assign lang = themeDisplay.getLanguageId()?split("_")[0]/> 
801    <#else> 
802        <#assign lang = themeDisplay.getLanguageId()/> 
803    </#if> 
804    <#assign tomApi = serviceLocator.findService("it.inera.tom.api.TOMAPI")> 
805 
806    <#if municipalityNames?has_content && municipalityNames?size gt 0 && lang?has_content && lang?trim?length gt 0 && tomApi?has_content> 
807 
808        <#assign offerResults = [] /> 
809 
810    <#-- Recupera e assegna il parametro solo se presente --> 
811        <#if request.getParameter("OFFERSELECTPORTALTAGS")?? && request.getParameter("OFFERSELECTPORTALTAGS")?has_content> 
812            <#assign OFFERSELECTPORTALTAGS = request.getParameter("OFFERSELECTPORTALTAGS")?split(",") /> 
813        </#if> 
814 
815        <#attempt> 
816            <#if OFFERSELECTPORTALTAGS?? && OFFERSELECTPORTALTAGS?size gt 0> 
817                <#assign offerResults = tomApi.getJsonOffersListResultByMunicipalitiesAndTag(municipalityNames, lang, OFFERSELECTPORTALTAGS) /> 
818            <#else> 
819                <#assign offerResults = tomApi.getJsonOffersListResultByMunicipalities(municipalityNames, lang) /> 
820            </#if> 
821            <#recover> 
822            <#-- Eventuale gestione errore --> 
823        </#attempt> 
824 
825 
826 
827 
828        <#if offerResults?? && offerResults?has_content> 
829            <#assign offerResponse = offerResults.getResponse()> 
830            <#if offerResponse?? && offerResponse?has_content> 
831                <#assign offerResults = offerResponse.getResults()> 
832                <#if offerResults?? && offerResults?has_content> 
833                    <aside class="container-fluid bg-white" id="hideable"> 
834                        <div class="row"> 
835                            <div class="container padding-top-em-3"> 
836                                <div class="row"> 
837                                    <div class="col-12 col-md-10 offset-md-1 margin-bottom-lg-em-0 margin-bottom-em-2"> 
838                                        <div class="text-block text-block-center"> 
839                                            <div class="title-2"> 
840                                                <@liferay.language key="label.migliori.offerte" /> 
841                                            </div> 
842                                            <div class="text"> 
843                                                <@liferay.language key="label.proposte.vivere.umbria" /> 
844                                            </div> 
845                                        </div> 
846                                    </div> 
847                                </div> 
848 
849                                <div class="row"> 
850                                    <div class="col-12"> 
851                                        <div class="d-flex flex-justify-content-end"> 
852                                            <a class="link-showall" href="/lista-offerte?municipality=${municipalityNamesString}&territory=${territoryNameString}"><@liferay.language key="label.vedi.tutte" /> 
853                                                <i class="fas fa-angle-right"></i> 
854                                            </a> 
855                                        </div> 
856                                    </div> 
857                                    <div class="col-12"> 
858                                        <div class="row"> 
859                                            <div class="col-12 padding-bottom-em-3"> 
860                                                <div class="carousel-container transparent margin-top-em-1 margin-bottom-em-2"> 
861                                                    <div class="tns-carousel tns-carousel-default"> 
862                                                        <#list offerResults as offerResult> 
863 
864                                                            <div> 
865                                                                <div class="card card-1 card-offerta has-info-commercial"> 
866                                                                    <a class="card-link" href="/dettaglio-offerta/-/dettaglio/${offerResult.getSlug()}_${offerResult.getId()}_${offerResult.getType()}" aria-label="${offerResult.getTitle()}"></a> 
867                                                                    <div class="card-header"> 
868 
869                                                                        <div class="hidden" id="tagmanager_item_card"> 
870                                                                            <span id="tagmanager_item_id">${offerResult.getId()}</span> 
871                                                                            <span id="tagmanager_item_category_card">${offerResult.getType()}</span> 
872                                                                            <span id="tagmanager_item_name">${offerResult.getTitle()}</span> 
873                                                                            <span id="tagmanager_item_list_name_card">Le migliori offerte per te</span> 
874                                                                            <span id="tagmanager_item_list_id"></span> 
875                                                                            <span id="tagmanager_item_brand">${offerResult.getType()}</span> 
876                                                                            <span id="tagmanager_index">${offerResult_index}</span> 
877                                                                        </div> 
878                                                                        <div class="card-header-bg aspect-ratio aspect-ratio-4-3"> 
879                                                                            <#if offerResult.getGalleries()?has_content> 
880                                                                                <#if offerResult.getGalleries().getImages()?has_content && offerResult.getGalleries().getImages()?size gt 0> 
881                                                                                    <#assign file = ""/> 
882                                                                                    <#assign alt = ""/> 
883                                                                                    <#if offerResult.getGalleries().getImages()[0].getFile()?has_content> 
884                                                                                        <#assign file = tomBaseImagePath + offerResult.getGalleries().getImages()[0].getFile()/> 
885                                                                                    <#else> 
886                                                                                        <#assign file = "/o/umbria-theme/images/loghi/logo_no_image.png"/> 
887                                                                                    </#if> 
888                                                                                    <#if offerResult.getGalleries().getImages()[0].getAlt()?has_content> 
889                                                                                        <#assign alt = offerResult.getGalleries().getImages()[0].getAlt()/> 
890                                                                                    </#if> 
891 
892                                                                                    <#if !offerResult.getGalleries().getImages()[0].getAlt()?has_content> 
893                                                                                        <#assign alt ="Titolo: " + offerResult.getTitle()/> 
894                                                                                    </#if> 
895                                                                                    <img src="${file}?params[width]=354" alt="${alt}"> 
896                                                                                </#if> 
897                                                                            <#else> 
898                                                                                <#assign file = "/o/umbria-theme/images/loghi/logo_no_image.png"/> 
899                                                                                <img src="${file}?params[width]=354" alt="logo_no_image"> 
900                                                                            </#if> 
901                                                                        </div> 
902 
903                                                                        <#if offerResult.getType()?? && offerResult.getType()?has_content && offerResult.getType()?trim?length gt 0 && offerResult.getType()?trim != "accommodation"> 
904                                                                            <button class="link link-tripplanner link-tripplanner-1 link-tripplanner-top-right margin-top-em-2 margin-right-em-1" data-detail-type="${offerResult.getType()}/offer" data-id="${offerResult.getId()}" data-tom="true" aria-label="<@liferay.language key="label.aggiungi.elimina.viaggio"/>"> 
905                                                                                <i class="far fa-heart text-red"></i><i class="fas fa-heart text-red" style="display:none;"></i></a> 
906                                                                            </button> 
907                                                                        <#else> 
908                                                                            <button class="link link-tripplanner link-tripplanner-1 link-tripplanner-top-right margin-top-em-2 margin-right-em-1" data-detail-type="${offerResult.getType()}" data-id="${offerResult.getId()}" data-tom="true" aria-label="<@liferay.language key="label.aggiungi.elimina.viaggio"/>"> 
909                                                                                <i class="far fa-heart text-red"></i><i class="fas fa-heart text-red" style="display:none;"></i></a> 
910                                                                            </button> 
911                                                                        </#if> 
912                                                                        <div class="card-header-info"> 
913                                                                            <div class="card-badges"> 
914                                                                                <div class="badge badge-light-blue"> 
915                                                                                    <#if offerResult.getType() == 'guide'> 
916                                                                                        <@liferay.language key="label.guide" /> 
917                                                                                    </#if> 
918                                                                                    <#if offerResult.getType() == 'travelagency'> 
919                                                                                        <@liferay.language key="label.pacchetti.turistici" /> 
920                                                                                    </#if> 
921                                                                                    <#if offerResult.getType() == 'consortium'> 
922                                                                                        <@liferay.language key="label.pacchetti.turistici" /> 
923                                                                                    </#if> 
924                                                                                    <#if offerResult.getType() == 'accommodation'> 
925                                                                                        <@liferay.language key="label.accommodation" /> 
926                                                                                    </#if> 
927                                                                                    <#if offerResult.getType() == 'service'> 
928                                                                                        <@liferay.language key="label.esperienze.in.azienda" /> 
929                                                                                    </#if> 
930                                                                                    <#if offerResult.getType() == 'educationalfarm'> 
931                                                                                        <@liferay.language key="label.percorsi.didattici" /> 
932                                                                                    </#if> 
933                                                                                </div> 
934                                                                            </div> 
935                                                                            <div class="header-title title-5">${offerResult.getTitle()}</div> 
936                                                                        </div> 
937                                                                    </div> 
938                                                                    <#if offerResult?has_content> 
939                                                                        <div class="card-body"> 
940                                                                            <div class="card-body-title title-4"> 
941                                                                                ${offerResult.getTitle()} 
942                                                                            </div> 
943                                                                            <#if offerResult.getSubtitle()?has_content> 
944                                                                                <div class="card-body-subtitle"> 
945                                                                                    ${offerResult.getSubtitle()} 
946                                                                                </div> 
947                                                                            </#if> 
948                                                                        </div> 
949                                                                    </#if> 
950                                                                    <div class="card-info card-info-readmore"> 
951                                                                        <div class="info hidden"><@liferay.language key="label.continua.a.leggere" /></div> 
952                                                                    </div> 
953                                                                    <div class="card-info"> 
954    			                        	                    <span class="info"> 
955    			                        		                    <!--<a href="#" class="text-light-blue text-bold"> 
956    			                        		                            <i class="fas fa-map-pin"></i> 
957    	                        		                            </a>--> 
958    		                        		                    </span> 
959                                                                    </div> 
960                                                                    <div class="card-info card-info-commercial"> 
961                                                                        <#if offerResult.getDuration()?has_content && offerResult.getDuration().getCount()?has_content && offerResult.getDuration().getType()?has_content> 
962                                                                            <div class="info info-commercial"> 
963                                                                                <div class="label"><@liferay.language key="label.durata" /></div> 
964                                                                                <div class="title text-bold"> 
965                                                                                    ${offerResult.getDuration().getCount()} ${offerResult.getDuration().getType()} 
966                                                                                </div> 
967                                                                            </div> 
968                                                                        <#else> 
969                                                                            <div class="info info-commercial"> 
970                                                                                <div class="label">&nbsp;</div> 
971                                                                                <div class="title text-bold"> 
972                                                                                    &nbsp; 
973                                                                                </div> 
974                                                                            </div> 
975                                                                        </#if> 
976                                                                        <div class="info info-commercial"> 
977                                                                            <#if offerResult.getMinimumPrice()?has_content && offerResult.getMinimumPrice()!=0> 
978                                                                                <div class="label"> 
979                                                                                    <@liferay.language key="label.a.partire.da" /> 
980                                                                                </div> 
981                                                                                <div class="title text-bold"> 
982                                                                                    <@liferay.language key="label.euro" /> ${offerResult.getMinimumPrice()} 
983                                                                                </div> 
984                                                                            <#else> 
985                                                                                <div class="label"> 
986                                                                                    <@liferay.language key="label.prezzo.su.richiesta" /> 
987                                                                                </div> 
988                                                                                <div class="title text-bold"> 
989                                                                                    &nbsp; 
990                                                                                </div> 
991                                                                            </#if> 
992                                                                        </div> 
993                                                                    </div> 
994                                                                </div> 
995                                                            </div> 
996 
997                                                        </#list> 
998                                                    </div> 
999                                                </div> 
1000                                            </div> 
1001                                        </div> 
1002                                    </div> 
1003                                </div> 
1004                            </div> 
1005                        </div> 
1006                    </aside> 
1007                </#if> 
1008            </#if> 
1009        </#if> 
1010 
1011    </#if> 
1012 
1013    <#if results?size gt 0 || relatedResults?size gt 0> 
1014        <aside class="container-fluid bg-gray"> 
1015            <div class="row"> 
1016                <div class="container padding-top-em-3 padding-bottom-em-5"> 
1017                    <div class="row"> 
1018                        <div class="col-12 col-md-10 offset-md-1 margin-bottom-em-2 margin-bottom-lg-em-0"> 
1019                            <div class="text-block text-block-center"> 
1020                                <div class="title-2"> 
1021                                    <@liferay.language key="label.potrebbe.interessarti.anche"/> 
1022                                </div> 
1023                                <div class="text"> 
1024                                    <@liferay.language key="label.scopri.proposte.uniche"/> 
1025                                </div> 
1026                            </div> 
1027                        </div> 
1028 
1029                        <div class="col-12"> 
1030                            <div class="row"> 
1031                                <div class="col-12 padding-bottom-em-3"> 
1032                                    <div class="carousel-container transparent margin-top-em-1 margin-bottom-em-2"> 
1033                                        <div class="tns-carousel tns-carousel-default"> 
1034 
1035                                            <#-- GESTIONE RALATED ASSETS RENDERIZZAZIONE--> 
1036                                            <#list relatedResults as relatedResult> 
1037                                                <div> 
1038                                                    <div class="card card-1 card-offerta"> 
1039 
1040                                                        <#assign detailBaseUrl = structureService.getSiteBaseUrl(themeDisplay)> 
1041                                                        <a class="card-link" href="${relatedResult.getHref()}" aria-label="${relatedResult.getTitle()}"></a> 
1042 
1043                                                        <div class="card-header"> 
1044                                                            <div class="card-header-bg aspect-ratio aspect-ratio-4-3"> 
1045                                                                <#assign alternativeAlt = relatedResult.getImg().getAlt()> 
1046                                                                <#if !relatedResult.getImg().getAlt()?trim?has_content> 
1047                                                                    <#assign alternativeAlt = "Titolo: " + relatedResult.getTitle()> 
1048                                                                </#if> 
1049                                                                <img src="${relatedResult.getImg().getSrc()}" alt="${alternativeAlt}"> 
1050                                                            </div> 
1051                                                            <button class="link link-tripplanner link-tripplanner-1 link-tripplanner-top-right margin-top-em-2 margin-right-em-1"  data-id="${relatedResult.getId()}" data-tom="false" aria-label="<@liferay.language key="label.aggiungi.elimina.viaggio"/>"> 
1052                                                                <i class="far fa-heart text-red"></i> 
1053                                                                <i class="fas fa-heart text-red" style="display:none"></i> 
1054                                                            </button> 
1055                                                            <div class="card-header-info"> 
1056                                                                <div class="card-badges"> 
1057                                                                    <#assign categoryNames = relatedResult.getHeader().getInfo() > 
1058                                                                    <#list categoryNames as categoryName> 
1059                                                                        <div class="badge badge-red"> 
1060                                                                            ${categoryName} 
1061                                                                        </div> 
1062                                                                        <a class="header-title title-5" href="#">${relatedResult.getTitle()}</a> 
1063                                                                    </#list> 
1064                                                                </div> 
1065                                                            </div> 
1066                                                        </div> 
1067                                                        <div class="card-body"> 
1068                                                            <a class="card-body-title title-4" href="${relatedResult.getHref()}"> 
1069                                                                ${relatedResult.getTitle()} 
1070                                                            </a> 
1071                                                            <div class="card-body-subtitle"> 
1072                                                                <#if relatedResult.getSubtitle()?? && relatedResult.getSubtitle()?has_content && relatedResult.getSubtitle()?trim?length gt 0 && relatedResult.getSubtitle()?trim != "null"> 
1073                                                                    ${relatedResult.getSubtitle()} 
1074                                                                </#if> 
1075                                                            </div> 
1076 
1077                                                        </div> 
1078                                                        <div class="card-info"> 
1079                                                            <span class="info"></span> 
1080                                                        </div> 
1081                                                    </div> 
1082                                                </div> 
1083                                            </#list> 
1084                                            <#-- GESTIONE RALATED ASSETS FINE RENDERIZZAZIONE--> 
1085 
1086                                            <#list results as related> 
1087                                                <#assign langId = themeDisplay.getLanguageId() /> 
1088                                                <#assign contentByLocale = related.getContentByLocale(themeDisplay.getLanguageId()) /> 
1089                                                <#assign contentGroupId = related.getGroupId() /> 
1090                                                <#assign document = saxReaderUtil.read(contentByLocale) > 
1091                                                <#assign rootElement = document.getRootElement()> 
1092 
1093                                                <#assign xPathTitolo = saxReaderUtil.createXPath("dynamic-element[@name='titolo']")> 
1094                                                <#assign relatedTitolo = xPathTitolo.selectSingleNode(rootElement).getStringValue()> 
1095 
1096                                                <#assign xPathSottotitolo = saxReaderUtil.createXPath("dynamic-element[@name='sottotitolo']")> 
1097                                                <#assign relatedSottotitolo = xPathSottotitolo.selectSingleNode(rootElement).getStringValue()> 
1098 
1099                                                <#assign xPathImmagineBanner = saxReaderUtil.createXPath("dynamic-element[@name='immagine_banner']")> 
1100                                                <#assign relatedImmagineBanner = xPathImmagineBanner.selectSingleNode(rootElement).getStringValue()> 
1101 
1102                                                <#assign xPathTestoAlternativoImmagineBanner = saxReaderUtil.createXPath("dynamic-element[@name='testo_alternativo_immagine_banner']")> 
1103                                                <#assign relatedTestoAlternativoImmagineBanner = xPathTestoAlternativoImmagineBanner.selectSingleNode(rootElement).getStringValue()> 
1104 
1105                                                <#if relatedImmagineBanner?has_content && relatedImmagineBanner?trim?length gt 0 > 
1106 
1107                                                    <#attempt> 
1108                                                        <#assign immagineBannerJson = relatedImmagineBanner?eval > 
1109                                                        <#assign url = "/documents/${immagineBannerJson.groupId}/${immagineBannerJson.classPK}/${immagineBannerJson.title}/${immagineBannerJson.uuid}?width=${widthCardImg}"> 
1110                                                        <#recover> 
1111                                                            <#assign url = "" > 
1112                                                    </#attempt> 
1113 
1114                                                <#else> 
1115                                                    <#assign url = "" > 
1116                                                </#if> 
1117 
1118                                                <#assign resourcePrimKey = related.getResourcePrimKey() /> 
1119                                                <#assign assetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", resourcePrimKey) /> 
1120                                                <#assign assetEntryId = assetEntry.getEntryId() /> 
1121 
1122                                                <#assign categories = assetCategoryLocalService.getAssetEntryAssetCategories(assetEntryId) > 
1123 
1124                                                <#assign categoryNames = [] > 
1125 
1126                                                <#list categories as category> 
1127                                                    <#if vocabularyIdUmbria == category.getVocabularyId() > 
1128                                                        <#assign categoryNames = categoryNames + [category.getTitle(themeDisplay.getLanguageId())] > 
1129                                                    </#if> 
1130                                                </#list> 
1131 
1132                                                <#assign detailBaseUrl = structureService.getSiteBaseUrl(themeDisplay)> 
1133 
1134                                                <div> 
1135                                                    <div class="card card-1 card-offerta"> 
1136                                                        <a class="card-link" href="${detailBaseUrl}/-/${related.getUrlTitle(locale)}" aria-label="${related.getTitle()}"></a> 
1137                                                        <div class="card-header"> 
1138 
1139                                                            <div class="hidden" id="tagmanager_item_card_potrebbe_interessarti"> 
1140                                                                <span id="tagmanager_item_id_potrebbe_interessarti">${related.getId()}</span> 
1141                                                                <span id="tagmanager_item_category_card_potrebbe_interessarti">${titleCategory}</span> 
1142                                                                <span id="tagmanager_item_name_potrebbe_interessarti">${related.getTitle()}</span> 
1143                                                                <span id="tagmanager_item_list_name_potrebbe_interessarti">Potrebbe interessarti</span> 
1144                                                                <span id="tagmanager_item_list_id_potrebbe_interessarti"></span> 
1145                                                                <span id="tagmanager_item_brand_potrebbe_interessarti">${titleCategory}</span> 
1146                                                                <span id="tagmanager_index_potrebbe_interessarti">${related_index}</span> 
1147                                                            </div> 
1148 
1149                                                            <div class="card-header-bg aspect-ratio aspect-ratio-4-3"> 
1150                                                                <#if !relatedTestoAlternativoImmagineBanner?? || !relatedTestoAlternativoImmagineBanner?trim?has_content> 
1151                                                                    <#assign relatedTestoAlternativoImmagineBanner = "Titolo: " + related.getTitle()> 
1152                                                                </#if> 
1153                                                                <img src="${url}" alt="${relatedTestoAlternativoImmagineBanner}"> 
1154                                                            </div> 
1155                                                            <button class="link link-tripplanner link-tripplanner-1 link-tripplanner-top-right margin-top-em-2 margin-right-em-1" data-id="${related.getArticleId()}" data-tom="false" aria-label="<@liferay.language key="label.aggiungi.elimina.viaggio"/>"> 
1156                                                                <i class="far fa-heart text-red"></i> 
1157                                                                <i class="fas fa-heart text-red" style="display:none"></i> 
1158                                                            </button> 
1159                                                            <div class="card-header-info"> 
1160                                                                <div class="card-badges"> 
1161                                                                    <#list categoryNames as categoryName> 
1162                                                                        <div class="badge badge-red"> 
1163                                                                            ${categoryName} 
1164                                                                        </div> 
1165                                                                        <a class="header-title title-5" href="#">${related.getTitle()}</a> 
1166                                                                    </#list> 
1167                                                                </div> 
1168                                                            </div> 
1169                                                        </div> 
1170                                                        <div class="card-body"> 
1171                                                            <a class="card-body-title title-4" href="/-/${related.getUrlTitle(locale)}"> 
1172                                                                ${relatedTitolo} 
1173                                                            </a> 
1174                                                            <div class="card-body-subtitle"> 
1175                                                                ${relatedSottotitolo} 
1176                                                            </div> 
1177                                                        </div> 
1178                                                        <div class="card-info"> 
1179                                                            <span class="info"></span> 
1180                                                        </div> 
1181                                                    </div> 
1182                                                </div> 
1183                                                <#assign categoryNames = [] > 
1184                                                <#assign categories = [] > 
1185                                            </#list> 
1186                                        </div> 
1187                                    </div> 
1188                                </div> 
1189                            </div> 
1190                        </div> 
1191                    </div> 
1192                </div> 
1193            </div> 
1194        </aside> 
1195    </#if> 
1196 
1197    <script> 
1198        $("#backLink").click(function(event) { 
1199            event.preventDefault(); 
1200            history.back(1); 
1201        }); 
1202    </script> 
1203 
1204 
1205    <script id="map-popup-1-template" type="text/x-handlebars-template"> 
1206        <div class="map-popup map-popup-1 map-popup-detail"> 
1207            <div class="row"> 
1208                <div class="col-12 col-lg-3"> 
1209                    <div class="img"> 
1210                        <div class="img-wrapper"><img src="{{img.src}}" alt="{{img.alt}}"/></div> 
1211                    </div> 
1212                </div> 
1213                <div class="col-12 col-lg-9"> 
1214                    <div class="row"> 
1215                        <div class="col-12"> 
1216                            <div class="title">{{title}}</div> 
1217                            <div class="subtitle">{{subtitle}}</div> 
1218                        </div> 
1219                    </div> 
1220                    <div class="row"> 
1221                        <div class="col-12 col-lg-6"> 
1222                            <div class="title">Orari</div> 
1223                            <div class="info"> 
1224                                <ul>{{#each openings}} 
1225                                    <li> 
1226                                        <div class="row"> 
1227                                            <div class="col-3">{{@key}}</div> 
1228                                            <div class="col-9"> 
1229                                                <ul>{{#each this}} 
1230                                                    <li>{{this}}</li>{{/each}} 
1231                                                </ul> 
1232                                            </div> 
1233                                        </div> 
1234                                    </li>{{/each}} 
1235                                </ul> 
1236                            </div> 
1237                        </div> 
1238                        <div class="col-12 col-lg-6"> 
1239                            <div class="title">Contatti</div> 
1240                            <div class="info"> 
1241                                <ul>{{#each info}} 
1242                                    <li><a href="{{../href}}">{{this}}</a></li>{{/each}} 
1243                                </ul> 
1244                            </div> 
1245                        </div> 
1246                    </div> 
1247                </div> 
1248            </div> 
1249        </div> 
1250    </script> 
1251    <script id="map-popup-2-template" type="text/x-handlebars-template"> 
1252        <div class="map-popup map-popup-1" style="width:301px"> 
1253            <a class="card card-5" href="#" aria-label="{{title}}"> 
1254                {{#if image}} 
1255                    <div class="card-header"> 
1256                        <div class="card-image"><img src="{{image}}" alt="{{alt}}"/></div> 
1257                    </div> 
1258                {{/if}} 
1259                <div class="card-body{{#unless image}} card-body-no-image{{/unless}}"> 
1260                    <div class="card-info">{{type}}</div> 
1261                    <div class="card-title" id="button-popup" data-href="{{href}}">{{title}}</div> 
1262                    <div class="card-text">{{text}}</div> 
1263                </div> 
1264            </a> 
1265        </div> 
1266    </script> 
1267    <script id="map-popup-3-template" type="text/x-handlebars-template"> 
1268        <div class="map-popup map-popup-1" style="width:301px"> 
1269            <a class="card card-5" href="#" aria-label="{{title}}"> 
1270                {{#if image}} 
1271                    <div class="card-header"> 
1272                        <div class="card-image"><img src="{{image}}" alt="{{alt}}"/></div> 
1273                    </div> 
1274                {{/if}} 
1275                <div class="card-body{{#unless image}} card-body-no-image{{/unless}}"> 
1276                    <div class="card-info">{{type}}</div> 
1277                    <div class="card-title">{{title}}</div> 
1278                    <div class="card-text">{{text}}</div> 
1279                </div> 
1280                <div class="card-footer"> 
1281                    <div class="card-info"> 
1282                    </div> 
1283                </div> 
1284            </a> 
1285        </div> 
1286    </script> 
1287 
1288 
1289    <script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5c5d3c404544fcaf"></script> 
1290 
1291    <style> 
1292        .card-body-no-image { 
1293            padding-top: 15px; 
1294
1295    </style>