Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> murcia_commonWebContentUtil.getLinkListFromResources [in template "36330832259441#32821#TPL_NOTICIA" at line 173, column 54]
----
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 linksList = murcia_commonWebC... [in template "36330832259441#32821#TPL_NOTICIA" at line 173, column 33]
----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
2<#assign journalArticle = journalArticleLocalService.getArticle(getterUtil.getLong(groupId),.vars['reserved-article-id'].data) />
3<#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") />
4<#assign urlTitle = .vars['reserved-article-url-title'].data />
5<#assign title = .vars['reserved-article-title'].data />
6<#assign viewURL = htmlUtil.escape(layout.getGroup().getDisplayURL(themeDisplay, false)) + "/-/" + urlTitle />
7
8
9<#if ! themeDisplay ? has_content>
10 <#assign liferay_theme = PortletJspTagLibs["/META-INF/liferay-theme.tld"] />
11 <@liferay_theme["defineObjects"] />
12</#if>
13
14<div class="detalle-contenido detalle-noticia">
15 <div class="row">
16 <div class="col-md-9">
17 <#if imagen.getData()?? && imagen.getData() != "">
18 <#if imagen.getAttribute("alt") != "">
19 <#assign altImagen = imagen.getAttribute("alt") />
20 <#else>
21 <#assign altImagen = "${languageUtil.get(locale,'general.imagen')}" + " " + .vars['reserved-article-title'].data />
22 </#if>
23 <div class="imagen-principal"><img data-fileentryid="${imagen.getAttribute('fileEntryId')}" alt="${altImagen}" src="${imagen.getData()}" /> </div>
24 </#if>
25
26 <div class="spacing-8">
27 <div class="date-fields">
28 <#assign fecha_Data = getterUtil.getString(fecha.getData())>
29 <#if validator.isNotNull(fecha_Data)>
30 <#assign fecha_DateObj = dateUtil.parseDate("yyyy-MM-dd", fecha_Data, locale)>
31 <div class="date"><@liferay.language key="general.publicacion" />: ${dateUtil.getDate(fecha_DateObj, "dd 'de' MMMM 'de' yyyy", locale)}</div>
32 </#if>
33
34 <#if (autor.getData())?? && autor.getData() != "">
35 <div class="autor"><@liferay.language key="general.autor" />: ${autor.getData()}</div>
36 </#if>
37 </div>
38
39 <h1>${title}</h1>
40
41 <#if (subtitulo.getData())?? && subtitulo.getData() != "">
42 <div class="subtitulo">${subtitulo.getData()}</div>
43 </#if>
44 </div>
45
46 <#if (resumen.getData()?? && resumen.getData() != "") || (descripcion.getData()?? && descripcion.getData() != "")>
47 <div class="contenido-superior">
48 <#if resumen.getData()?? && resumen.getData() != "">
49 <div class="resumen">${resumen.getData()}</div>
50 </#if>
51
52 <#if descripcion.getData()?? && descripcion.getData() != "">
53 <div class="description">${descripcion.getData()}</div>
54 </#if>
55 </div>
56 </#if>
57
58 <#if ( (relacionados.getSiblings()?has_content)
59 && (
60 (relacionados.getSiblings()[0].documento.getData()?? && relacionados.getSiblings()[0].documento.getData()!="" )
61 || (relacionados.getSiblings()[0].enlacePagina.getData()!="" && relacionados.getSiblings()[0].enlacePagina.getData()!="{}" )
62 || (relacionados.getSiblings()[0].urlEnlace.getData()!="" && relacionados.getSiblings()[0].urlEnlace.getData()!="null")
63 )
64 )>
65 <div class="informacion-relacionada">
66 <ul>
67 <#list relacionados.getSiblings() as cur_relacionado>
68 <#if (cur_relacionado.getData()?? && cur_relacionado.documento.getData()!="")>
69 <#assign fileEntryUrl = cur_relacionado.documento.getData()
70 fileUuidPosition = (fileEntryUrl?last_index_of("/")) + 1
71 fileEntryUrlLength = (fileEntryUrl?length) - 1
72 fileUuid = fileEntryUrl[fileUuidPosition..fileEntryUrlLength]
73 fileUuidPosition2 = (fileUuid ?last_index_of("?")) -1
74 fileUuid2 = fileUuid[0..fileUuidPosition2]
75 fileEntry = dlFileEntryLocalService.getFileEntryByUuidAndGroupId(fileUuid2,groupId)
76 />
77 <#assign nombreDocumento = fileEntry.getTitle() />
78 <#if (cur_relacionado.textoAlternativoDocumento.getData()?? && cur_relacionado.textoAlternativoDocumento.getData() != "" && cur_relacionado.textoAlternativoDocumento.getData() != "null")>
79 <#assign nombreDocumento = cur_relacionado.textoAlternativoDocumento.getData() />
80 </#if>
81
82 <li>
83 <a class="file ${fileEntry.getExtension()}" title="${nombreDocumento}. ${languageUtil.get(locale,'general.external-doc')}"
84 data-type="${fileEntry.getExtension()}" data-size="${(fileEntry.getSize()/1024)?string('##0.00')}kB"
85 href="${fileEntryUrl}" target="_blank">
86 <span>
87 ${nombreDocumento}
88 <#if (cur_relacionado.breveDescripcionDocumento.getData()?? && cur_relacionado.breveDescripcionDocumento.getData() != "" && cur_relacionado.breveDescripcionDocumento.getData() != "null")>
89 <span class="desc">${cur_relacionado.breveDescripcionDocumento.getData()}</span>
90 </#if>
91 <span class="extension">(<@liferay.language key='general.documento' /> [.${fileEntry.getExtension()}] ${(fileEntry.getSize()/(1024*1024))?string('##0.00')}MB)</span>
92 </span>
93 </a>
94 </li>
95 </#if>
96
97 <#if (cur_relacionado.urlEnlace.getData()?? && cur_relacionado.urlEnlace.getData()!="" && cur_relacionado.urlEnlace.getData()!="null") >
98 <#assign nombreEnlace = "" >
99 <#if (cur_relacionado.textoAlternativoEnlace.getData()?? && cur_relacionado.textoAlternativoEnlace.getData() != "" && cur_relacionado.textoAlternativoEnlace.getData() != "null")>
100 <#assign nombreEnlace = cur_relacionado.textoAlternativoEnlace.getData() />
101 </#if>
102
103 <#if nombreEnlace == "" >
104 <#assign nombreEnlace = cur_relacionado.urlEnlace.getData() >
105 </#if>
106 <li>
107 <a class="url" target="_blank" href="${cur_relacionado.urlEnlace.getData()}" title="${nombreEnlace}. <@liferay.language key='general.external-doc' />">
108 <span>${nombreEnlace}</span>
109 </a>
110 </li>
111 </#if>
112
113 <#if (cur_relacionado.enlacePagina.getData()?? && cur_relacionado.enlacePagina.getData()!="" && cur_relacionado.enlacePagina.getData()!="null" && cur_relacionado.enlacePagina.getData()!="{}") >
114 <#assign nombreEnlacePagina = "" >
115 <#if (cur_relacionado.textoAlternativoEnlacePagina.getData()?? && cur_relacionado.textoAlternativoEnlacePagina.getData() != "" && cur_relacionado.textoAlternativoEnlacePagina.getData() != "null")>
116 <#assign nombreEnlacePagina = cur_relacionado.textoAlternativoEnlacePagina.getData() />
117 </#if>
118
119 <#if nombreEnlacePagina == "" >
120 <#assign nombreEnlacePagina = cur_relacionado.enlacePagina.getFriendlyUrl() />
121 </#if>
122 <li>
123 <a class="url url-internal" href="${cur_relacionado.enlacePagina.getFriendlyUrl()}" title="<@liferay.language key='general.more-info' />. ${nombreEnlacePagina}">
124 <span>${nombreEnlacePagina}</span>
125 </a>
126 </li>
127 </#if>
128 </#list>
129 </ul>
130 </div>
131 </#if>
132
133 <#if (galeriaImagenes?has_content && galeriaImagenes.getSiblings()?has_content && galeriaImagenes.getSiblings()[0].imagenGaleria.getData()!="") >
134 <div class="informacion-relacionada galeria-imagenes">
135 <h4><@liferay.language key="general.galeria-imagenes" /></h4>
136 <div class="galeria owl-carousel">
137 <#list galeriaImagenes.getSiblings() as cur_imagen>
138 <#if (cur_imagen.imagenGaleria.getData())?? && cur_imagen.imagenGaleria.getData() != "">
139 <div class="detail-item-image ">
140 <#assign titulo_imagen = "" />
141 <#if cur_imagen.tituloImagenGaleria.getData()?has_content && cur_imagen.tituloImagenGaleria.getData() != "">
142 <#assign titulo_imagen = cur_imagen.tituloImagenGaleria.getData() />
143 </#if>
144 <a class="example-image-link" href="${cur_imagen.imagenGaleria.getData()}"
145 data-lightbox="example-set" data-title="${titulo_imagen}"
146 data-alt="${cur_imagen.imagenGaleria.getAttribute('alt')}">
147
148 <img alt="${cur_imagen.imagenGaleria.getAttribute('alt')}"
149 data-fileentryid="${cur_imagen.imagenGaleria.getAttribute('fileEntryId')}" src="${cur_imagen.imagenGaleria.getData()}" />
150 </a>
151 </div>
152 </#if>
153 </#list>
154 </div>
155 </div>
156 </#if>
157 </div>
158
159 <div class="col-md-3">
160 <div class="info-adicional">
161 <#assign tagsList = murcia_tagUtil.getJournalArticleTags(groupId, journalArticle.getArticleId())/>
162 <#if tagsList?has_content>
163 <div class="info info-tags">
164 <p class="info-title"><@liferay.language key="general.etiquetas" /></p>
165 <ul>
166 <#list tagsList as cur_tag>
167 <li>${cur_tag.getName()}</li>
168 </#list>
169 </ul>
170 </div>
171 </#if>
172
173 <#assign linksList = murcia_commonWebContentUtil.getLinkListFromResources()/>
174 <#if linksList?has_content>
175 ${linksList}
176 </#if>
177 </div>
178 </div>
179 </div>
180
181 <#assign journalList = murcia_commonWebContentUtil.getJournalArticleRelated(groupId, journalArticle.getArticleId())/>
182 <#if journalList?has_content>
183 <div class="listado-contenidos listado-horizontal-dos-columnas mt-32">
184 <h3><@liferay.language key="general.noticias-relacionadas" /></h3>
185 <div class="row">
186 <#list journalList as cur_journal>
187 <#assign entryTitle = cur_journal.getTitle(locale)/>
188 <#assign contenido = journalArticleLocalService.getArticleContent(cur_journal, "TPL_NOTICIA_LISTADO", "VIEW", locale, null, themeDisplay)/>
189 <div class="item col-md-6">
190 ${contenido}
191 </div>
192 </#list>
193 </div>
194 </div>
195 </#if>
196</div>
197
198<script>
199 $(document).ready(function(){
200 $('.galeria').owlCarousel({
201 loop:false,
202 margin:32,
203 nav:true,
204 dots:false,
205 navText:["<span class='material-symbols-outlined'>arrow_back_ios</span>", "<span class='material-symbols-outlined'>arrow_forward_ios</span>"],
206 responsive:{
207 0:{
208 items:1.5,
209 loop:true
210 },
211 600:{
212 items:2
213 },
214 1000:{
215 items:2.5
216 }
217 }
218 })
219 });
220</script>