Scopri proposte uniche per vivere il territorio del Trasimeno
Trasimeno
Trasimeno
Sulle rive di uno dei laghi più importanti del Centro Italia, bellezze naturalistiche e borghi che raccontano di un passato affascinante con le loro torri e i castelli. Alla scoperta dei luoghi del Divin Pittore, dove il Perugino è nato e ha lasciato opere di valore inestimabile.
Vivi il territorio
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> titleParentCategory [in template "20099#20135#977410" at line 129, column 88]
----
Tip: If the failing expression is known to 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: ${titleParentCategory} [in template "20099#20135#977410" at line 129, column 86]
----
1<#--
2Template ID: 977410
3Template Key: 977409
4Type: display
5Mode: None
6-->
7<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
8<#assign searchService = serviceLocator.findService("it.inera.structure.search.service.SearchService")>
9<#assign structureService = serviceLocator.findService("it.inera.structure.service.StructureService")>
10
11<#assign jaClassId = portalUtil.getClassNameId("com.liferay.journal.model.JournalArticle")!>
12<#assign vocabularyIdUmbria = structureService.getVocabularyIdByVocabularyName("Vocabolario Umbria") >
13
14
15<#assign showTemplate = true />
16<#list entries as curEntry>
17 <#assign assetRenderer = curEntry.getAssetRenderer()/>
18 <#if assetRenderer.getClassName() != "com.liferay.journal.model.JournalArticle">
19 <#assign showTemplate = false />
20 <#break>
21 </#if>
22 <#if (assetRenderer.getArticle().getDDMStructureKey())! != (structureService.getStructureItinerarioKey())!>
23 <#assign showTemplate = false />
24 <#break>
25 </#if>
26</#list>
27
28<#assign value_vivi_il_territorio = "#" />
29<#assign site_vivi_il_territorio_custom_field = (layout.getGroup().getExpandoBridge().getAttribute("vivi_il_territorio"))!{} />
30<#list (site_vivi_il_territorio_custom_field?keys)![] as key>
31 <#if key == locale>
32 <#assign value_vivi_il_territorio = site_vivi_il_territorio_custom_field?values[key_index] />
33 </#if>
34</#list>
35
36<#assign layout = themeDisplay.getLayout()/>
37<#assign urlCurrent = themeDisplay.getLayoutFriendlyURL(layout)?replace("/", "")/>
38
39<#if !showTemplate>
40<div style="border: 1px solid red; padding:20px;">
41 <h3 style="color: red;">Questo template supporta solo contenuti di tipo Web Content con struttura Itinerario.</h3>
42 <h3 style="color: red;">Configurare opportunamente l'aggregatore risorse</h3>
43</div>
44<#else>
45<div class="bg-gray margin-top-lg-rem-minus-2">
46 <div class="container-fluid container-fluid-max-xl">
47 <div class="d-flex flex-justify-content-end">
48 <a class="link-showall" href="${value_vivi_il_territorio}?territory=${urlCurrent}">
49 <@liferay.language key="label.scopri.tutte"/>
50 <i class="fas fa-angle-right"></i>
51 </a>
52 </div>
53 <div class="carousel-container carousel-controls-bottom transparent margin-top-em-1 margin-bottom-em-3 carousel-draggable same-heigh-cards"
54 style="margin-left: -15px;margin-right: -15px;">
55 <div class="tns-carousel tns-carousel-default tns-nav-off">
56 <#list entries as curEntry>
57 <#assign assetRenderer = curEntry.getAssetRenderer()/>
58 <#assign ja = assetRenderer.getArticle() />
59
60 <#assign contentByLocale = ja.getContentByLocale(themeDisplay.getLanguageId()) />
61 <#assign rootElement = (saxReaderUtil.read(contentByLocale).getRootElement())! />
62
63 <#assign titolo = (saxReaderUtil.createXPath("dynamic-element[@name='titolo']")
64 .selectSingleNode(rootElement).getStringValue())!>
65 <#assign sottotitolo = (saxReaderUtil.createXPath("dynamic-element[@name='sottotitolo']")
66 .selectSingleNode(rootElement).getStringValue())!>
67 <#assign abstract = (saxReaderUtil.createXPath("dynamic-element[@name='abstract']")
68 .selectSingleNode(rootElement).getStringValue())!>
69 <#assign imageBanner = (saxReaderUtil.createXPath("dynamic-element[@name='immagine_banner']")
70 .selectSingleNode(rootElement).getStringValue())!>
71 <#assign altImageBanner = (saxReaderUtil.createXPath("dynamic-element[@name='testo_alternativo_immagine_banner']")
72 .selectSingleNode(rootElement).getStringValue())!>
73 <#assign imageLista = (saxReaderUtil.createXPath("dynamic-element[@name='immagine_lista']")
74 .selectSingleNode(rootElement).getStringValue())!>
75 <#assign altImageLista = (saxReaderUtil.createXPath("dynamic-element[@name='testo_alternativo_immagine_lista']")
76 .selectSingleNode(rootElement).getStringValue())!>
77
78 <#assign imageAsset = imageLista />
79 <#assign altImageAsset = altImageLista />
80
81 <#if !imageAsset?has_content || imageAsset == "{}" >
82 <#assign imageAsset = imageBanner />
83 <#assign altImageAsset = altImageBanner />
84 </#if>
85 <#if !altImageAsset?has_content >
86 <#assign altImageAsset = "Titolo: " + titolo>
87 </#if>
88
89 <#assign urlImage = "" />
90 <#if imageAsset?has_content && imageAsset != "{}" >
91 <#assign urlImage = searchService.getFileEntryUrl(imageAsset, themeDisplay) />
92 </#if>
93
94 <#assign detailUrl = searchService.getArticleDetailUrl(ja, jaClassId, themeDisplay)! />
95 <#assign externalTag = searchService.isDifferentGroup(ja, themeDisplay)?then("target=\"_blank\"","")/>
96
97 <div>
98 <a href="${detailUrl}" ${externalTag} aria-label="${titolo?trim}" class="card card-1 card-1-styled">
99 <div class="card-header">
100 <div class="card-header-bg aspect-ratio aspect-ratio-4-3">
101 <img src="${urlImage + urlImage?contains("?")?then("&","?")}imageThumbnail=2"
102 alt="${altImageAsset}">
103 </div>
104 <button class="link link-tripplanner link-tripplanner-top-right margin-top-em-2 margin-right-em-1 link-tripplanner-styled"
105 data-id="${ja.getArticleId()}"
106 data-tom="false"
107 aria-label="<@liferay.language key="label.aggiungi.elimina.viaggio" />">
108 <i class="far fa-heart text-red" data-prefix="far"></i>
109 <i class="fas fa-heart text-red" data-prefix="fas" style="display:none"></i>
110 </button>
111 <div class="card-header-info">
112 <div class="card-badges">
113 <#list curEntry.getCategories()![] as category>
114 <#if vocabularyIdUmbria == category.getVocabularyId() >
115 <#assign titleCategory = category.getTitle(themeDisplay.getLocale())>
116 <#assign parentCategoryId = category.getParentCategoryId()>
117 <#if parentCategoryId?? && parentCategoryId?has_content && parentCategoryId != 0>
118 <#assign pc = assetCategoryLocalService.getCategory(parentCategoryId) >
119 <#if pc?? && pc?has_content>
120 <#assign titleParentCategory = pc.getTitle("it_IT")>
121 </#if>
122 </#if>
123 <div class="badge btn-trasparent">${titleCategory}</div>
124 </#if>
125 </#list>
126 <span class="hidden" id="tagmanager_init_pagegroup">Esplora il territorio</span>
127 <div class="hidden" id="tagmanager_item_card">
128 <span id="tagmanager_item_id">${curEntry.getEntryId()}</span>
129 <span id="tagmanager_item_category_card">${titleParentCategory}</span>
130 <span id="tagmanager_item_category2_card">${titleCategory}</span>
131 <span id="tagmanager_item_name">${titolo}</span>
132 <span id="tagmanager_item_list_name_card">Vivi il territorio</span>
133 <span id="tagmanager_item_list_id"></span>
134 <span id="tagmanager_item_brand">>${titleCategory}</span>
135 <span id="tagmanager_index">${curEntry_index}</span>
136 </div>
137 </div>
138 </div>
139 </div>
140 <div class="card-body">
141 <div class="card-body-title title-4">
142 ${titolo}
143 </div>
144 <div class="card-body-subtitle">
145 ${sottotitolo}
146 </div>
147 </div>
148 <div class="card-info mt-4">
149 <span class="info">
150 <@liferay.language key="label.continua.a.leggere"/>
151 </span>
152 </div>
153 </a>
154 </div>
155 </#list>
156 </div>
157 </div>
158 </div>
159</div>
160</#if>