Une erreur s'est produite lors du traitement du gabarit.
The following has evaluated to null or missing: ==> assetRenderer.getArticle [in template "20101#20128#153372" at line 27, column 67] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- 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: #assign journalArticle = assetRendere... [in template "20101#20128#153372" at line 27, column 41] ----
1<#include "${templatesPathTurismo}/113928" />
2<!-- Section Cards - Eventos -->
3<#if entries?has_content>
4<#assign dlAppService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService") />
5<#assign mediaQueryProvider = serviceLocator.findService("com.liferay.adaptive.media.image.media.query.MediaQueryProvider") />
6<section class="sectioncards">
7 <div class="container">
8 <#assign tituloYDescripcion =themeDisplay.getPortletDisplay().getTitle()?split("|") />
9 <#assign customTitle = themeDisplay.getPortletDisplay().getPortletSetup().getValue("portletSetupUseCustomTitle", "false") />
10
11 <#if customTitle?boolean >
12 <h3 class="headline-mediumlarge fontMedium">${(tituloYDescripcion?size>0
13 )?then(tituloYDescripcion[0],'')}</h3>
14 ${(tituloYDescripcion?size>1)?then('<p>'+tituloYDescripcion[1]+'</p>','')}
15 <#else>
16 <h3 class="headline-mediumlarge fontMedium">${languageUtil.get(themeDisplay.getLocale(), 'sm.buscador.eventos')}</h3>
17 <p></p>
18 </#if>
19 <div class="row">
20 <div class="col-12">
21 <div class="divSwiper tePuedeInteresar" id="tePuedeInteresar">
22 <div class="divSwiper-wrapper row">
23 <#list entries as curEntry>
24
25 <#assign assetRenderer = curEntry.getAssetRenderer() />
26 <#assign entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) />
27 <#assign journalArticle = assetRenderer.getArticle() />
28 <#assign docXml = saxReaderUtil.read(journalArticle.getContentByLocale(themeDisplay.getLocale())) />
29
30 <#-- Cogemos los valores de cada campo necesario -->
31 <#assign nombre = docXml.valueOf("//dynamic-element[@name='Nombre']/dynamic-content/text()") />
32 <#assign lugar = docXml.valueOf("//dynamic-element[@name='Lugar']/dynamic-content/text()") />
33 <#assign fechaInicio = docXml.valueOf("//dynamic-element[@name='FechaInicio']/dynamic-content/text()") />
34 <#assign fechaFin = docXml.valueOf("//dynamic-element[@name='FechaFin']/dynamic-content/text()") />
35 <#assign horaInicio = docXml.valueOf("//dynamic-element[@name='HoraInicio']/dynamic-content/text()") />
36 <#assign horaFin = docXml.valueOf("//dynamic-element[@name='HoraFin']/dynamic-content/text()") />
37 <#assign imagen = docXml.valueOf("//dynamic-element[@name='Imagen']/dynamic-content/text()") />
38
39 <#-- Comprobar si el evento ha expirado
40 <#assign fechaHoraFin = fechaFin?date("yyyy-MM-dd")+" "+horaFin?time("HH:mm") />
41 <#if fechaHoraFin?datetime < .now?datetime>
42 <#-- Si entra en el IF, saltamos a la siguiente entrada -->
43 <#-- IF fechaHoraFin < .now, significa que el evento ha expirado -->
44 <#--
45 <#else>
46
47
48
49
50 </#if>
51 -->
52 <#-- Cargamos la Imagen -->
53 <#assign docUrl="" />
54 <#assign altImagen=nombre />
55 <#assign toolTipImagen=nombre />
56 <#assign map={ "propietario": '' , "contacto": '' } />
57 <#if imagen?has_content>
58 <#assign jsonObject=imagen?eval />
59 <#assign entryUuid=jsonObject.uuid />
60 <#if jsonObject.alt?has_content>
61 <#assign altImagen=jsonObject.alt />
62 </#if>
63 <#if jsonObject??>
64 <#assign mapFields=getFieldsDocument(map,jsonObject) />
65 <#list mapFields?keys as key>
66 <#if key=="propietario">
67 <#assign propietario = mapFields[key] />
68 <#assign toolTipImagen="${altImagen}"+" © "+"${propietario}" />
69 </#if>
70 </#list>
71 </#if>
72 <#assign entryGroupId=getterUtil.getLong(jsonObject.groupId) />
73 <#assign dlFileEntryLocalService=serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
74 <#assign dlFileEntry=dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) />
75 <#--<#assign assetEntryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
76 <#assign assetEntry=assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", dlFileEntry.fileEntryId) />
77 <#assign assetRendererStr=assetEntry.assetRenderer />
78 <#assign docUrl=assetRendererStr.getURLDownload(themeDisplay) />
79 -->
80 </#if>
81
82 <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, curEntry, true) />
83 <#assign classNameId=curEntry.getClassNameId() />
84 <#assign classPK=curEntry.getClassPK() />
85 <div class="li_ss col-md-6 col-lg-3">
86 <div class="card">
87 <@getEditIcon/>
88 <a href="${viewURL}&classNameId=${classNameId}&classPK=${classPK}"
89 class="aCard">
90 <div class="card-img marcEventos">
91 <#if imagen?has_content && dlFileEntry?has_content>
92 <#attempt>
93 <@adaptive_media_image["img"] alt="${altImagen}" title="${toolTipImagen}" class="card-img-top" fileVersion=dlAppService.getFileEntry(dlFileEntry.fileEntryId).getFileVersion()/>
94 <#recover>
95 </#attempt>
96 </#if>
97 </div>
98 <div class="card-body">
99 <#assign str_fini = "" />
100 <#if fechaInicio?? && fechaInicio?has_content>
101 <#assign ini = fechaInicio?date("yyyy-MM-dd") />
102 <#assign str_fini = ini?string />
103 </#if>
104 <#assign str_ffin = ""/>
105 <#if fechaFin?? && fechaFin?has_content>
106 <#assign fini = fechaFin?date("yyyy-MM-dd") />
107 <#assign str_ffin = fini?string />
108 </#if>
109 <#assign str_hini = "" />
110 <#if horaInicio?? && horaInicio?has_content>
111 <#attempt>
112 <#assign str_hini = horaInicio?time("HH:mm")?string />
113 <#recover>
114 <#assign str_hini = "??:??" />
115 </#attempt>
116 </#if>
117 <#assign str_hfin = "" />
118 <#if horaFin?? && horaFin?has_content>
119 <#attempt>
120 <#assign str_hfin = horaFin?time("HH:mm")?string/>
121 <#recover>
122 <#assign str_hfin = "??:??" />
123 </#attempt>
124 </#if>
125
126 <p class="card-date"><#if str_fini != "">${str_fini}</#if><#if str_ffin != ""> - ${str_ffin}</#if></p>
127 <p class="card-date"><#if str_hini != "">${str_hini}</#if><#if str_hfin != ""> - ${str_hfin}</#if></p>
128 <p class="card-text"></p>
129 <p class="card-text">${lugar}</p>
130 <p class="card-title">${nombre}</p>
131 </div>
132 </a>
133 </div>
134 </div>
135 </#list>
136 </div>
137 <div role="link" class="swiper-button-next" title="${languageUtil.get(themeDisplay.getLocale(), 'sm.swiper.slider.next')}"></div>
138 <div role="link" class="swiper-button-prev" title="${languageUtil.get(themeDisplay.getLocale(), 'sm.swiper.slider.prev')}"></div>
139 </div>
140 </div>
141 </div>
142 </div>
143</section>
144</#if>
145<!-- FIN Cards -->