Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> assetRenderer.getArticle [in template "20101#20128#42338" 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#42338" 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 <#assign enlaceExternoParaDetalle = docXml.valueOf("//dynamic-element[@name='EnlaceExternoParaDetalle']/dynamic-content/text()") />
39 <#assign webOficial = docXml.valueOf("//dynamic-element[@name='WebOficial']/dynamic-content/text()") />
40
41 <#-- Comprobar si el evento ha expirado
42 <#assign fechaHoraFin = fechaFin?date("yyyy-MM-dd")+" "+horaFin?time("HH:mm") />
43 <#if fechaHoraFin?datetime < .now?datetime>
44 <#-- Si entra en el IF, saltamos a la siguiente entrada -->
45 <#-- IF fechaHoraFin < .now, significa que el evento ha expirado -->
46 <#--
47 <#else>
48
49
50
51
52 </#if>
53 -->
54 <#-- Cargamos la Imagen -->
55 <#assign docUrl="" />
56 <#assign altImagen=nombre />
57 <#assign toolTipImagen=nombre />
58 <#assign map={ "propietario": '' , "contacto": '' } />
59 <#if imagen?has_content>
60 <#assign jsonObject=imagen?eval />
61 <#assign entryUuid=jsonObject.uuid />
62 <#if jsonObject.alt?has_content>
63 <#assign altImagen=jsonObject.alt />
64 </#if>
65 <#if jsonObject??>
66 <#assign mapFields=getFieldsDocument(map,jsonObject) />
67 <#list mapFields?keys as key>
68 <#if key=="propietario">
69 <#assign propietario = mapFields[key] />
70 <#assign toolTipImagen="${altImagen}"+" © "+"${propietario}" />
71 </#if>
72 </#list>
73 </#if>
74 <#assign entryGroupId=getterUtil.getLong(jsonObject.groupId) />
75 <#assign dlFileEntryLocalService=serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
76 <#attempt>
77 <#assign dlFileEntry=dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) />
78 <#recover>
79 <#assign dlFileEntry="" />
80 </#attempt>
81 <#--<#assign assetEntryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
82 <#assign assetEntry=assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", dlFileEntry.fileEntryId) />
83 <#assign assetRendererStr=assetEntry.assetRenderer />
84 <#assign docUrl=assetRendererStr.getURLDownload(themeDisplay) />
85 -->
86 </#if>
87
88 <#assign baseURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, curEntry, true)?replace("https://", "") />
89 <#assign viewURL = baseURL[baseURL?index_of("/")..] />
90 <#assign classNameId=curEntry.getClassNameId() />
91 <#assign classPK=curEntry.getClassPK() />
92 <div class="li_ss col-md-6 col-lg-3">
93 <div class="card">
94 <@getEditIcon/>
95 <#if webOficial?? && enlaceExternoParaDetalle?? && webOficial!="" && enlaceExternoParaDetalle!="">
96 <a onClick="mostrarModal('${webOficial}', 'modalEventos')" class="aCard">
97 <#else>
98 <a href="${viewURL}&classNameId=${classNameId}&classPK=${classPK}"
99 class="aCard">
100 </#if>
101 <div class="card-img marcEventos">
102 <#if imagen?has_content && dlFileEntry?? && dlFileEntry?has_content>
103 <#attempt>
104 <@adaptive_media_image["img"] alt="${altImagen}" title="${toolTipImagen}" class="card-img-top" fileVersion=dlAppService.getFileEntry(dlFileEntry.fileEntryId).getFileVersion()/>
105 <#recover>
106 </#attempt>
107 </#if>
108 </div>
109 <div class="card-body">
110 <#assign str_fini = "" />
111 <#if fechaInicio?? && fechaInicio?has_content>
112 <#assign ini = fechaInicio?date("yyyy-MM-dd") />
113 <#assign str_fini = ini?string />
114 </#if>
115 <#assign str_ffin = ""/>
116 <#if fechaFin?? && fechaFin?has_content>
117 <#assign fini = fechaFin?date("yyyy-MM-dd") />
118 <#assign str_ffin = fini?string />
119 </#if>
120 <#assign str_hini = "" />
121 <#if horaInicio?? && horaInicio?has_content>
122 <#attempt>
123 <#assign str_hini = horaInicio?time("HH:mm")?string />
124 <#recover>
125 <#assign str_hini = "??:??" />
126 </#attempt>
127 </#if>
128 <#assign str_hfin = "" />
129 <#if horaFin?? && horaFin?has_content>
130 <#attempt>
131 <#assign str_hfin = horaFin?time("HH:mm")?string/>
132 <#recover>
133 <#assign str_hfin = "??:??" />
134 </#attempt>
135 </#if>
136
137 <p class="card-date"><#if str_fini != "">${str_fini}</#if><#if str_ffin != ""> - ${str_ffin}</#if></p>
138 <p class="card-date"><#if str_hini != "">${str_hini}</#if><#if str_hfin != ""> - ${str_hfin}</#if></p>
139 <p class="card-text"></p>
140 <p class="card-text">${lugar}</p>
141 <p class="card-title">
142 <#if webOficial?? && enlaceExternoParaDetalle?? && webOficial!="" && enlaceExternoParaDetalle!="">
143 <img class="icoCardText" src="${themeDisplay.getPathThemeImages()}/sm/iconos/opciones/link.svg" alt="${languageUtil.get(themeDisplay.getLocale(), 'sm.popup.web.externa')}">
144 </#if>
145 ${nombre}</p>
146 </div>
147 </a>
148 </div>
149 </div>
150 </#list>
151 </div>
152 <div role="link" class="swiper-button-next" title="${languageUtil.get(themeDisplay.getLocale(), 'sm.swiper.slider.next')}"></div>
153 <div role="link" class="swiper-button-prev" title="${languageUtil.get(themeDisplay.getLocale(), 'sm.swiper.slider.prev')}"></div>
154 </div>
155 </div>
156 </div>
157 </div>
158</section>
159<@crearModal link="" idModal="modalEventos" texto="${languageUtil.get(themeDisplay.getLocale(), 'sm.popup.web.externa')}"/>
160<@showModal/>
161</#if>
162<!-- FIN Cards -->