Fehler bei der Verarbeitung der Vorlage.
The following has evaluated to null or missing:
==> relatedResult.getImg().getAlt()  [in template "20099#20135#79292" at line 511, column 106]

----
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: ${relatedResult.getImg().getAlt()}  [in template "20099#20135#79292" at line 511, column 104]
----
1<#-- 
2Template ID: 79293 
3Template Key: 79292 
4Type: display 
5Mode: None 
6--> 
7 
8<#--RICETTA 24092025--> 
9<#assign elasticService = serviceLocator.findService("it.inera.elastic.service.ElasticService")> 
10<#assign journalArticleConverter = serviceLocator.findService("it.inera.journalarticleconverter.service.JournalArticleConverter")> 
11<#assign searchService = serviceLocator.findService("it.inera.structure.search.service.SearchService")> 
12<#assign structureService = serviceLocator.findService("it.inera.structure.service.StructureService")> 
13 
14<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
15<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
16<#assign dlAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")/> 
17<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
18 
19<#assign ricettaStructureKey = structureService.getStructureRicettaKey()> 
20<#assign ricettaStructureId = structureService.getStructureRicettaId()> 
21<#assign journalArticleId = .vars['reserved-article-id'].data/> 
22 
23<#assign vocabularyIdUmbria = structureService.getVocabularyIdByVocabularyName("Vocabolario Umbria") > 
24 
25<#assign currentArticle = journalArticleLocalService.getArticle(groupId, journalArticleId) /> 
26 
27<#-- GESTIONE RALATED ASSETS VALORIZZAZIONE ARRAY--> 
28<#assign currentObject = journalArticleConverter.getRicetta(currentArticle, themeDisplay.getLocale())> 
29<#assign relatedAssets = currentObject.getDirectRelatedAssets()> 
30<#assign relatedResults = []> 
31<#if relatedAssets?? && relatedAssets?has_content> 
32    <#assign relatedResult = searchService.getResponse(relatedAssets, themeDisplay.getLocale(), null, themeDisplay)> 
33    <#if relatedResult?? && relatedResult?has_content> 
34        <#assign relatedResults = relatedResult.getData()> 
35    </#if> 
36</#if> 
37 
38<#-- GESTIONE ASSET LINGUA DI DEFAULT --> 
39<#assign currentObjectDefaultLanguage = journalArticleConverter.getRicetta(currentArticle, localeUtil.getDefault())> 
40 
41<#-- GESTIONE RALATED ASSETS VALORIZZAZIONE ARRAY--> 
42<#assign currentArticleResourcePrimKey = currentArticle.getResourcePrimKey() /> 
43<#assign currentArticleAssetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", currentArticleResourcePrimKey) /> 
44<#assign currentArticleAssetEntryId = currentArticleAssetEntry.getEntryId() /> 
45 
46<#assign assetRenderer = currentArticleAssetEntry.getAssetRenderer() /> 
47<#assign assetObject = assetRenderer.getAssetObject() /> 
48<#assign categoryList = assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", assetObject.resourcePrimKey) /> 
49 
50<#assign categoryListIds = [] > 
51<#list categoryList as category> 
52    <#if category.getCategoryId()??> 
53        <#assign categoryListIds = categoryListIds + [category.getCategoryId()?long]> 
54    </#if> 
55</#list> 
56 
57<#assign results = []> 
58<#if elasticService??> 
59    <#assign results = (elasticService.getRelatedArticlesOrderByPriority( 
60    themeDisplay, 
61    (ricettaStructureKey?string)!, 
62    (ricettaStructureId?string)!, 
63    themeDisplay.getLanguageId(), 
64    "6", 
65    "", 
66    null, 
67    (journalArticleId?string)!, 
68    null, 
69    null, 
70    null 
71    ))![] /> 
72</#if> 
73 
74 
75<#-- per categoria --> 
76 
77<#assign categoryArray=[]> 
78<#assign assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")> 
79<#assign vocabularyName = "Vocabolario Umbria"/> 
80<#assign specificVocabulary = assetVocabularyLocalService.getGroupVocabulary(themeDisplay.getCompany().getGroupId(), vocabularyName)/> 
81<#if validator.isNotNull(specificVocabulary)> 
82    <#assign cats = specificVocabulary.getCategories()/> 
83</#if> 
84 
85<#assign categories = (assetEntryLocalService.getAssetEntryAssetCategories(currentArticleAssetEntryId))![] /> 
86 
87<#--<#assign categories = assetCategoryLocalService.getAssetEntryAssetCategories(currentArticleAssetEntryId) />--> 
88<#if validator.isNotNull(cats)> 
89    <#list cats as cat> 
90        <#list categories as cate> 
91            <#if cat == cate> 
92                <#assign categoryArray = categoryArray + [cat]> 
93            </#if> 
94        </#list> 
95    </#list> 
96</#if> 
97 
98<#assign titleCategory = ""> 
99<#if categoryArray?? && categoryArray?has_content> 
100    <#assign firstCategory = categoryArray[0] /> 
101    <#assign titleCategory = firstCategory.getTitle(themeDisplay.getLocale())> 
102</#if> 
103<#-- per categoria FINE --> 
104 
105<#assign urlBanner = immagine_banner.getData() > 
106<#assign fileEntryIdBanner = immagine_banner.getAttribute("fileEntryId")!immagine_banner.getAttribute("classPK")!""> 
107<#assign testAlternativoImmagineBanner = testo_alternativo_immagine_banner.getData() > 
108<#if ((currentObjectDefaultLanguage.getImmagineBanner())!)?has_content> 
109    <#assign urlBanner = currentObjectDefaultLanguage.getImmagineBanner().getPublicUrl()!urlBanner > 
110    <#assign fileEntryIdBanner = currentObjectDefaultLanguage.getImmagineBanner().getFileEntryId()!currentObjectDefaultLanguage.getImmagineBanner().getClassPK()!"" > 
111</#if> 
112<#if ((currentObjectDefaultLanguage.getTestoAlternativoImmagineBanner())!)?has_content> 
113    <#assign testAlternativoImmagineBanner = currentObjectDefaultLanguage.getTestoAlternativoImmagineBanner() > 
114</#if> 
115 
116<#attempt> 
117    <#list categoryList as category> 
118        <#if vocabularyIdUmbria == category.getVocabularyId() > 
119            <#assign titleCategory = category.getTitle(themeDisplay.getLocale())> 
120            <#assign parentCategoryId = category.getParentCategoryId()> 
121            <#assign titleParentCategory = ""> 
122            <#if parentCategoryId?? && parentCategoryId?has_content> 
123                <#assign pc = assetCategoryLocalService.getCategory(parentCategoryId) > 
124                <#if pc?? && pc?has_content> 
125                    <#assign titleParentCategory = pc.getTitle("it_IT")> 
126                </#if> 
127            </#if> 
128            <#if titleCategory?? && titleCategory?has_content> 
129                <span class="hidden" id="tagmanager_init_pagegroup">${titleParentCategory}</span> 
130                <span class="hidden" id="tagmanager_init_pagecategory">${titleCategory}</span> 
131            </#if> 
132        </#if> 
133    </#list> 
134    <#recover> 
135</#attempt> 
136 
137<div class="container-fluid"> 
138    <div class="row"> 
139        <div class="header-block header-under-nav header-block-image-layer header-block-1 header-block-image-main header-block-tagged"> 
140            <img class="bg" src="${urlBanner}" 
141                 data-fileentryid="${fileEntryIdBanner}" 
142                 alt="${testAlternativoImmagineBanner}"> 
143            <div class="container title title-main"> 
144                <div class="row"> 
145                    <div class="col-12"> 
146                        <#if titleCategory?? && titleCategory?has_content> 
147                            <div class="badge badge-light badge-uppercase"> 
148                                ${titleCategory} 
149                            </div> 
150                        </#if> 
151                        <h1 class="title-1 margin-top-em-0 margin-bottom-em-0"> 
152                            ${titolo.getData()} 
153                        </h1> 
154                    </div> 
155                </div> 
156            </div> 
157        </div> 
158    </div> 
159</div> 
160<#assign categoryArray=[]> 
161 
162<#assign number = 0 /> 
163<#if (dosi?? && dosi.getData()?has_content) > 
164    <#assign number = number + 1 /> 
165</#if> 
166<#if (tempo_di_cottura?? && tempo_di_cottura.getData()?has_content) > 
167    <#assign number = number + 1 /> 
168</#if> 
169<#if (tempo_di_preparazione?? && tempo_di_preparazione.getData()?has_content) > 
170    <#assign number = number + 1 /> 
171</#if> 
172<#if (prezzo?? && prezzo.getData()?has_content) > 
173    <#assign number = number + 1 /> 
174</#if> 
175<#if (difficolta?? && difficolta.getData()?has_content) > 
176    <#assign number = number + 1 /> 
177</#if> 
178 
179<#-- <#assign divisore = 0 /> --> 
180<#if number gt 0 > 
181    <#assign divisore = 12/number /> 
182</#if> 
183 
184 
185<div class="container-fluid bg-white"> 
186    <#if (dosi?? && dosi.getData()?has_content) || (tempo_di_cottura?? && tempo_di_cottura.getData()?has_content) || (prezzo?? && prezzo.getData()?has_content)> 
187        <div class="row"> 
188            <div class="container bridge bridge-sm-top margin-top-em-2 margin-bottom-em-4 margin-top-sm-em-0 margin-bottom-sm-em-0"> 
189                <div class="row"> 
190                    <div class="col-12"> 
191                        <div class="card-bar card-bar-1 card-bar-dark"> 
192                            <div class="card-row"> 
193                                <#if dosi?? && dosi.getData()?has_content> 
194                                    <div class="col-${divisore}"> 
195                                        <div class="card card-horizontal card-3"> 
196                                            <div class="card-row"> 
197                                                <div class="card-icon card-item-first"> 
198                                                    <i class="fas fa-users"></i> 
199                                                </div> 
200                                                <div class="card-body"> 
201                                                    <div class="row"> 
202                                                        <div class="col-12"> 
203                                                            <div class="card-subtitle title-6"> 
204                                                                <@liferay.language key="label.porzioni"/> 
205                                                            </div> 
206                                                        </div> 
207                                                        <div class="col-12"> 
208                                                            <div class="card-title"> 
209                                                                ${dosi.getData()} 
210                                                            </div> 
211                                                        </div> 
212                                                    </div> 
213                                                </div> 
214                                            </div> 
215                                        </div> 
216                                    </div> 
217                                </#if> 
218                                <#if tempo_di_preparazione?? && tempo_di_preparazione.getData()?has_content> 
219                                    <div class="col-${divisore}"> 
220                                        <div class="card card-horizontal card-3"> 
221                                            <div class="card-row"> 
222                                                <div class="card-icon card-item-first"> 
223                                                    <i class="fas fa-clock"></i> 
224                                                </div> 
225                                                <div class="card-body"> 
226                                                    <div class="row"> 
227                                                        <div class="col-12"> 
228                                                            <div class="card-subtitle title-6"> 
229                                                                <@liferay.language key="label.preparazione"/> 
230                                                            </div> 
231                                                        </div> 
232                                                        <div class="col-12"> 
233                                                            <div class="card-title"> 
234                                                                ${tempo_di_preparazione.getData()} 
235                                                            </div> 
236                                                        </div> 
237                                                    </div> 
238                                                </div> 
239                                            </div> 
240                                        </div> 
241                                    </div> 
242                                </#if> 
243                                <#if tempo_di_cottura?? && tempo_di_cottura.getData()?has_content> 
244                                    <div class="col-${divisore}"> 
245                                        <div class="card card-horizontal card-3"> 
246                                            <div class="card-row"> 
247                                                <div class="card-icon card-item-first"> 
248                                                    <i class="fas fa-clock"></i> 
249                                                </div> 
250                                                <div class="card-body"> 
251                                                    <div class="row"> 
252                                                        <div class="col-12"> 
253                                                            <div class="card-subtitle title-6"> 
254                                                                <@liferay.language key="label.cottura"/> 
255                                                            </div> 
256                                                        </div> 
257                                                        <div class="col-12"> 
258                                                            <div class="card-title"> 
259                                                                ${tempo_di_cottura.getData()} 
260                                                            </div> 
261                                                        </div> 
262                                                    </div> 
263                                                </div> 
264                                            </div> 
265                                        </div> 
266                                    </div> 
267                                </#if> 
268 
269                                <#if difficolta?? && difficolta.getData()?has_content> 
270                                    <div class="col-${divisore}"> 
271                                        <div class="card card-horizontal card-3"> 
272                                            <div class="card-row"> 
273                                                <div class="card-icon card-item-first"> 
274                                                    <i class="fas fa-star"></i> 
275                                                </div> 
276                                                <div class="card-body"> 
277                                                    <div class="row"> 
278                                                        <div class="col-12"> 
279                                                            <div class="card-subtitle title-6"> 
280                                                                <@liferay.language key="label.difficolta"/> 
281                                                            </div> 
282                                                        </div> 
283                                                        <div class="col-12"> 
284                                                            <div class="card-title"> 
285                                                                <#if (difficolta.getData() == "1")> 
286                                                                    <@liferay.language key="label.facile"/> 
287                                                                <#elseif (difficolta.getData() == "2" || difficolta.getData() == "3")> 
288                                                                    <@liferay.language key="label.media"/> 
289                                                                <#elseif (difficolta.getData() == "4" || difficolta.getData() == "5")> 
290                                                                    <@liferay.language key="label.difficile"/> 
291                                                                <#else> 
292                                                                    <@liferay.language key="label.facile"/> 
293                                                                </#if> 
294                                                            </div> 
295                                                        </div> 
296                                                    </div> 
297                                                </div> 
298                                            </div> 
299                                        </div> 
300                                    </div> 
301                                </#if> 
302                                <#if prezzo?? && prezzo.getData()?has_content> 
303                                    <div class="col-${divisore}"> 
304                                        <div class="card card-horizontal card-3"> 
305                                            <div class="card-row"> 
306                                                <div class="card-icon card-item-first"> 
307                                                    <i class="fas fa-euro-sign"></i> 
308                                                </div> 
309                                                <div class="card-body"> 
310                                                    <div class="row"> 
311                                                        <div class="col-12"> 
312                                                            <div class="card-subtitle title-6"> 
313                                                                <@liferay.language key="label.costo"/> 
314                                                            </div> 
315                                                        </div> 
316                                                        <div class="col-12"> 
317                                                            <div class="card-title"> 
318                                                                ${prezzo.getData()} 
319                                                            </div> 
320                                                        </div> 
321                                                    </div> 
322                                                </div> 
323                                            </div> 
324                                        </div> 
325                                    </div> 
326                                </#if> 
327                            </div> 
328                        </div> 
329                    </div> 
330                </div> 
331            </div> 
332        </div> 
333    </#if> 
334    <div class="row"> 
335        <article class="container padding-bottom-em-3 padding-top-em-1"> 
336            <div class="row flex-column-reverse flex-md"> 
337                <div class="col-12 col-md-8" id="preparazione"> 
338                    <#if descrizione?? && descrizione.getData()?has_content> 
339                        <div class="text-block text-block-left"> 
340                            <div class="text"> 
341                                ${descrizione.getData()} 
342                            </div> 
343                        </div> 
344                    </#if> 
345 
346                    <#list descrizione_videoFieldSet.getSiblings()![] as cur_video> 
347 
348                        <#if ((cur_video.descrizione_video.getData())!)?has_content> 
349                            <div class="title-4 padding-bottom-em-1"> 
350                                ${cur_video.descrizione_video.getData()} 
351                            </div> 
352                        </#if> 
353 
354                        <#if ((cur_video.video.getData())!)?has_content> 
355                            <div class="hytPlayerWrap"> 
356                                <iframe allowfullscreen="" frameborder="0" height="auto" src="${cur_video.video.getData()}" style="display:none;" width="auto"> 
357                                </iframe> 
358                            </div> 
359                            <div class="embed-responsive embed-responsive-16by9"> 
360                                <iframe allowfullscreen="" class="embed-responsive-item" src="${cur_video.video.getData()}"></iframe> 
361                            </div> 
362                        </#if> 
363                    </#list> 
364 
365                    <div class="text-block text-block-left"> 
366                        <div class="title-4 padding-bottom-em-1"> 
367                            <@liferay.language key="label.preparazione"/> 
368                        </div> 
369                        <div class="text"> 
370                            ${preparazione.getData()} 
371                        </div> 
372                    </div> 
373                </div> 
374                <aside class="col-12 col-md-4 margin-bottom-em-3 margin-bottom-md-em-0"> 
375                    <div class="sidebar" id="ingredients"> 
376                        <div class="text-block-1 padding-top-xsi-2"> 
377                            <div class="text-block-left"> 
378                                <div id="ingredients-list"> 
379                                    <div class="title-4 padding-bottom-em-1"> 
380                                        <@liferay.language key="label.ingredienti"/> 
381                                    </div> 
382                                    <div class="text"> 
383                                        ${ingredienti.getData()} 
384                                    </div> 
385                                </div> 
386                            </div> 
387                        </div> 
388                    </div> 
389                </aside> 
390            </div> 
391        </article> 
392    </div> 
393</div> 
394 
395 
396<#if ((descrizione_immagineFieldSet.getSiblings()[0].immagine.getData())!)?has_content> 
397    <div class="container-fluid bg-white"> 
398        <div class="row"> 
399            <div class="carousel-container carousel-no-ctrl transparent margin-bottom-em-1 tns-overflow-show carousel-image-slide carousel-draggable"> 
400                <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}}}"> 
401                    <#list descrizione_immagineFieldSet.getSiblings()![] as cur_immagine> 
402                        <#if ((cur_immagine.immagine.getData()?trim)!)?has_content > 
403                            <div class="item-with-caption"> 
404                                <img class="slide-image" src="${cur_immagine.immagine.getData()}" 
405                                     data-fileentryid="${cur_immagine.immagine.getAttribute("fileEntryId")!cur_immagine.immagine.getAttribute("classPK")!""}" 
406                                     alt="${cur_immagine.testo_alternativo.getData()}"> 
407                                <#if ((cur_immagine.didascalia.getData()?trim)!)?has_content && 
408                                cur_immagine.didascalia.getData()?trim != "null"> 
409                                    <p class="caption">${cur_immagine.didascalia.getData()}</p> 
410                                </#if> 
411                            </div> 
412                        </#if> 
413                    </#list> 
414                </div> 
415            </div> 
416        </div> 
417    </div> 
418<#else> 
419    <#attempt> 
420        <#if currentObjectDefaultLanguage?? && currentObjectDefaultLanguage?has_content && currentObjectDefaultLanguage.getImmagini()?has_content> 
421            <div class="container-fluid bg-white"> 
422                <div class="row"> 
423                    <div class="carousel-container carousel-no-ctrl transparent margin-bottom-em-1 tns-overflow-show carousel-image-slide carousel-draggable"> 
424                        <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}}}"> 
425                            <#list currentObjectDefaultLanguage.getImmagini() as imm> 
426                                <div class="item-with-caption"> 
427                                    <#if ((imm.getImmagine().getPublicUrl())!)?has_content> 
428                                        <img class="slide-image" src="${imm.getImmagine().getPublicUrl()}" 
429                                             data-fileentryid="${imm.getImmagine().getFileEntryId()!imm.getImmagine().getClassPK()!""}" 
430                                             alt="${imm.getTestoAlternativo()!}"> 
431                                        <#if ((imm.getDidascalia()?trim)!)?has_content && imm.getDidascalia()?trim != "null"> 
432                                            <p class="caption">${imm.getDidascalia()}</p> 
433                                        </#if> 
434                                    </#if> 
435                                </div> 
436                            </#list> 
437                        </div> 
438                    </div> 
439                </div> 
440            </div> 
441        </#if> 
442        <#recover> 
443 
444    </#attempt> 
445</#if> 
446 
447 
448<#assign titolo1 = "" /> 
449<#assign testo1 = "" /> 
450<#if currentArticle.getExpandoBridge()?? && currentArticle.getExpandoBridge().getAttribute("titolo_fascia_1")?has_content> 
451    <#assign titolo1_custom_field = currentArticle.getExpandoBridge().getAttribute("titolo_fascia_1") /> 
452    <#list titolo1_custom_field?keys as key> 
453        <#if key == locale> 
454            <#assign titolo1 = titolo1_custom_field?values[key_index] /> 
455        </#if> 
456    </#list> 
457</#if> 
458 
459<#if currentArticle.getExpandoBridge()?? && currentArticle.getExpandoBridge().getAttribute("testo_fascia_1")?has_content> 
460    <#assign testo1_custom_field = currentArticle.getExpandoBridge().getAttribute("testo_fascia_1") /> 
461    <#list testo1_custom_field?keys as key> 
462        <#if key == locale> 
463            <#assign testo1 = testo1_custom_field?values[key_index] /> 
464        </#if> 
465    </#list> 
466</#if> 
467 
468 
469<#if results?size gt 0 || relatedResults?size gt 0> 
470    <div class="container-fluid bg-gray"> 
471        <div class="row"> 
472            <aside class="container padding-top-em-3 padding-bottom-em-5"> 
473                <div class="row"> 
474                    <div class="col-12 col-md-10 offset-md-1 margin-bottom-em-2 margin-bottom-lg-em-minus-1"> 
475                        <div class="text-block text-block-center"> 
476                            <div class="title-2"> 
477                                <#if titolo1?has_content && titolo1?trim?length gt 0 > 
478                                    ${titolo1} 
479                                <#else> 
480                                    <@liferay.language key="label.potrebbe.interessarti.anche" /> 
481                                </#if> 
482                            </div> 
483                            <div class="text"> 
484                                <#if testo1?has_content && testo1?trim?length gt 0 > 
485                                    ${testo1} 
486                                <#else> 
487 
488                                </#if> 
489                            </div> 
490                        </div> 
491                    </div> 
492                    <div class="col-12"> 
493                        <div class="d-flex flex-justify-content-end"> 
494                            <a class="link-showall" href="/ricette"> 
495                                <@liferay.language key="label.scopri.tutte"/> 
496                                <i class="fas fa-angle-right"></i> 
497                            </a> 
498                        </div> 
499                    </div> 
500 
501                    <div class="col-12 same-heigh-cards"> 
502                        <div class="carousel-container transparent carousel-controls-bottom margin-top-em-1 carousel-draggable"> 
503                            <div class="tns-carousel tns-carousel-default tns-nav-off"> 
504                                <#-- GESTIONE RALATED ASSETS RENDERIZZAZIONE (relatedResults da searchService) --> 
505                                <#list relatedResults as relatedResult> 
506                                    <div> 
507                                        <div class="card card-1 card-1-styled card-offerta"> 
508                                            <a class="card-link" href="${relatedResult.getHref()}"></a> 
509                                            <div class="card-header"> 
510                                                <div class="card-header-bg aspect-ratio aspect-ratio-4-3"> 
511                                                    <img src="${relatedResult.getImg().getSrc()}" alt="${relatedResult.getImg().getAlt()}"> 
512                                                </div> 
513                                                <button class="link link-tripplanner link-tripplanner-top-right margin-top-em-2 margin-right-em-1 link-tripplanner-styled" 
514                                                        aria-label="aggiungi/elimina dal tuo viaggio" 
515                                                        data-id="${relatedResult.getId()}" data-tom="false"> 
516                                                    <i class="far fa-heart text-red" data-prefix="far"></i> 
517                                                    <i class="fas fa-heart text-red" data-prefix="fas" style="display:none;"></i> 
518                                                </button> 
519                                                <div class="card-header-info"> 
520                                                    <#assign categoryNames = relatedResult.getHeader().getInfo() > 
521                                                    <#list categoryNames as categoryName> 
522                                                        <div class="badge badge-trasparent-white"> 
523                                                            ${categoryName} 
524                                                        </div> 
525                                                    </#list> 
526                                                </div> 
527                                            </div> 
528                                            <div class="card-body"> 
529                                                <a class="card-body-title title-4" href="${relatedResult.getHref()}"> 
530                                                    ${relatedResult.getTitle()} 
531                                                </a> 
532                                                <div class="card-body-subtitle"> 
533                                                    <#if relatedResult.getSubtitle()?? && relatedResult.getSubtitle()?has_content && relatedResult.getSubtitle()?trim?length gt 0 && relatedResult.getSubtitle()?trim != "null"> 
534                                                        ${relatedResult.getSubtitle()} 
535                                                    </#if> 
536                                                </div> 
537                                            </div> 
538                                            <div class="card-info mt-4"> 
539                                            </div> 
540                                        </div> 
541                                    </div> 
542                                </#list> 
543                                <#-- GESTIONE RALATED ASSETS FINE RENDERIZZAZIONE--> 
544 
545                                <#-- GESTIONE results da elasticService --> 
546                                <#list results as related> 
547                                    <#assign langId = themeDisplay.getLanguageId() /> 
548                                    <#assign contentByLocale = related.getContentByLocale(themeDisplay.getLanguageId()) /> 
549                                    <#assign document = saxReaderUtil.read(contentByLocale) > 
550                                    <#assign rootElement = document.getRootElement()> 
551 
552                                    <#assign xPathTitolo = saxReaderUtil.createXPath("dynamic-element[@name='titolo']")> 
553                                    <#assign relatedTitolo = xPathTitolo.selectSingleNode(rootElement).getStringValue()> 
554 
555                                    <#assign xPathSottotitolo = saxReaderUtil.createXPath("dynamic-element[@name='sottotitolo']")> 
556                                    <#assign relatedSottotitolo = xPathSottotitolo.selectSingleNode(rootElement).getStringValue()> 
557 
558                                    <#assign xPathImmagineBanner = saxReaderUtil.createXPath("dynamic-element[@name='immagine_banner']")> 
559                                    <#assign relatedImmagineBanner = (xPathImmagineBanner.selectSingleNode(rootElement).getStringValue())!""> 
560                                    <#assign relatedImmagineBannerId = 0> 
561 
562                                    <#if relatedImmagineBanner?has_content> 
563                                        <#assign relatedImmagineBannerJson = relatedImmagineBanner?eval_json> 
564                                        <#assign relatedImmagineBannerId = (relatedImmagineBannerJson.fileEntryId!relatedImmagineBannerJson.classPK!0)?number> 
565                                    </#if> 
566 
567                                    <#assign xPathTestoAlternativoImmagineBanner = saxReaderUtil.createXPath("dynamic-element[@name='testo_alternativo_immagine_banner']")> 
568                                    <#assign relatedTestoAlternativoImmagineBanner = xPathTestoAlternativoImmagineBanner.selectSingleNode(rootElement).getStringValue()> 
569 
570                                    <#assign resourcePrimKey = related.getResourcePrimKey() /> 
571                                    <#assign assetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", resourcePrimKey) /> 
572                                    <#assign assetEntryId = assetEntry.getEntryId() /> 
573 
574                                    <#assign categories = (assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", resourcePrimKey))![] /> 
575 
576                                    <#assign categoryNames = [] > 
577 
578                                    <#list categories as category> 
579                                        <#if vocabularyIdUmbria == category.getVocabularyId() > 
580                                            <#assign categoryNames = categoryNames + [category.getTitle(themeDisplay.getLanguageId())] > 
581                                        </#if> 
582                                    </#list> 
583 
584                                    <div> 
585                                        <div class="card card-1 card-1-styled card-offerta"> 
586                                            <a class="card-link" href="/-/${related.getUrlTitle(locale)}"></a> 
587                                            <div class="card-header"> 
588                                                <div class="card-header-bg aspect-ratio aspect-ratio-4-3"> 
589                                                    <#if relatedImmagineBannerId gt 0> 
590                                                        <@adaptive_media_image["img"] 
591                                                        alt=relatedTestoAlternativoImmagineBanner 
592                                                        fileVersion=dlAppServiceUtil.getFileEntry(relatedImmagineBannerId).getFileVersion()/> 
593                                                    </#if> 
594                                                </div> 
595                                                <button class="link link-tripplanner link-tripplanner-top-right margin-top-em-2 margin-right-em-1 link-tripplanner-styled" 
596                                                        aria-label="aggiungi/elimina dal tuo viaggio" 
597                                                        href="/-/${related.getUrlTitle(locale)}" 
598                                                        data-id="${related.getArticleId()}" data-tom="false"> 
599                                                    <i class="far fa-heart text-red" data-prefix="far"></i> 
600                                                    <i class="fas fa-heart text-red" data-prefix="fas" style="display:none;"></i> 
601                                                </button> 
602                                                <div class="card-header-info"> 
603                                                    <#list categoryNames as categoryName> 
604                                                        <div class="badge badge-trasparent-white"> 
605                                                            ${categoryName} 
606                                                        </div> 
607                                                        <div class="hidden" id="tagmanager_item_"> 
608                                                            <span id="tagmanager_item_id">${related.getArticleId()}</span> 
609                                                            <span id="tagmanager_item_category">${categoryName}</span> 
610                                                            <span id="tagmanager_item_name">${relatedTitolo}</span> 
611                                                            <span id="tagmanager_item_list_name">${titleCategory}</span> 
612                                                            <span id="tagmanager_item_list_id"></span> 
613                                                            <span id="tagmanager_item_brand">${categoryName}</span> 
614                                                            <span id="tagmanager_index">${related_index}</span> 
615                                                        </div> 
616                                                    </#list> 
617                                                </div> 
618                                            </div> 
619                                            <div class="card-body"> 
620                                                <a class="card-body-title title-4" href="/-/${related.getUrlTitle(locale)}"> 
621                                                    ${relatedTitolo} 
622                                                </a> 
623                                                <div class="card-body-subtitle"> 
624                                                    ${relatedSottotitolo} 
625                                                </div> 
626                                            </div> 
627                                            <div class="card-info mt-4"> 
628                                            </div> 
629                                        </div> 
630                                    </div> 
631                                    <#assign categoryNames = [] > 
632                                    <#assign categories = [] > 
633                                </#list> 
634                            </div> 
635                        </div> 
636                    </div> 
637 
638                </div> 
639            </aside> 
640        </div> 
641    </div> 
642</#if> 
643<!-- Go to www.addthis.com/dashboard to customize your tools --> 
644<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5c629e6303f68c9f"></script>