Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> enlaces [in template "20101#20128#ADIF-NOTA-PRENSA-TEMPLATE" at line 318, column 22] ---- 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: #if enlaces.getSiblings()?has_content [in template "20101#20128#ADIF-NOTA-PRENSA-TEMPLATE" at line 318, column 17] ----
1<#assign currentURL = portalUtil.getCurrentCompleteURL(request)/>
2<#assign plMode = httpUtil.getParameter(currentURL, "p_l_mode", false)/>
3<#assign articleId = .vars['reserved-article-id'].data />
4<#assign journalResourceService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")/>
5<#assign assetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryService")/>
6<#assign classPK = journalResourceService.getArticleResourcePrimKey(groupId, articleId) />
7<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")/>
8<#assign statuses = [0,2,3,1,7,4,8,5,6]/>
9<#if plMode == "preview" && permissionChecker.isSignedIn()>
10 <#assign actualJournalArticle = journalArticleService.fetchLatestArticle(classPK,statuses)>
11<#else>
12 <#assign actualJournalArticle = journalArticleService.fetchArticle(groupId,articleId)>
13</#if>
14
15<#assign uuid = actualJournalArticle.getUuid()>
16<#assign pdfDownloadServletUrl = (themeDisplay.getColorScheme().getColorSchemeId()=="02")?then("/o/pdf/prensa-av?pdf=","/o/pdf/prensa?pdf=")+uuid>
17
18
19<!-- If Preview -->
20<#if plMode == "preview" && permissionChecker.isSignedIn()>
21 <#assign articlePreview = journalArticleService.getLatestArticle(classPK, -1, false) />
22 <#if articlePreview.getStatus() != 0 && articlePreview.getVersion() != 1.0>
23 <#assign classPK = articlePreview.getId() />
24 </#if>
25</#if>
26
27<#assign categorias = assetCategoryService.getCategories("com.liferay.journal.model.JournalArticle", classPK) />
28
29<#assign notasPrensaFriendlyUrl = (themeDisplay.getColorScheme().getColorSchemeId()=="02")?then("/comunicacion-y-prensa/notas-prensa","/comunicacion-prensa/notas-prensa")>
30
31<#assign nologos = (ocultarIconosPredefinidos?? && getterUtil.getBoolean(ocultarIconosPredefinidos.getData())) &&
32 !(IconoPersonalizado?? && IconoPersonalizado.getSiblings()?has_content && (IconoPersonalizado.getSiblings()?size gt 0) && (IconoPersonalizado.getSiblings()[0]??) && (IconoPersonalizado.getSiblings()[0].getData()!="")) >
33
34<div class="nota-prensa-detalle <#if nologos>no-logos</#if>">
35 <!-- LOGOS -->
36 <div class="logos-prensa">
37 <#assign numPersUsados = 0>
38 <#if SelectorIconosPredefinidos.getSiblings()?has_content && !(ocultarIconosPredefinidos?? && getterUtil.getBoolean(ocultarIconosPredefinidos.getData()))>
39 <div class="logos-prensa-oficial">
40 <#assign listPred = SelectorIconosPredefinidos.getSiblings()?size
41 existePers = (IconoPersonalizado??) && (IconoPersonalizado.getSiblings()?has_content)>
42 <#assign numPersUsados = 0>
43 <div role="img" alt="<@liferay.language key='es.adif.header.ministerio' />" class="iconflag Ministerio"></div>
44 <#switch listPred>
45 <#case 1>
46 <#assign necesito3 = true>
47 <#assign offsetUSado = 0>
48 <#if (SelectorIconosPredefinidos.getSiblings()[0]??) && (SelectorIconosPredefinidos.getSiblings()[0].getData()!="")>
49 <#if existePers && (IconoPersonalizado.getSiblings()[0]??) && (IconoPersonalizado.getSiblings()[0].getData()!="")>
50 <#assign dataPers = IconoPersonalizado.getSiblings()[0]>
51 <img alt="${dataPers.getAttribute("alt")}" data-fileentryid="${dataPers.getAttribute("fileEntryId")}" src="${dataPers.getData()}" />
52 <#assign offsetUSado = 1>
53 <#assign numPersUsados = 1>
54 </#if>
55 <div role="img" alt="Logo ${parseIconData(SelectorIconosPredefinidos.getSiblings()[0].getData())}" class="iconflag ${parseIconData(SelectorIconosPredefinidos.getSiblings()[0].getData())}"></div>
56 <#assign necesito3 = false>
57 </#if>
58 <#if existePers && (IconoPersonalizado.getSiblings()[0+offsetUSado]??) && (IconoPersonalizado.getSiblings()[0+offsetUSado].getData()!="")>
59 <#assign dataPers = IconoPersonalizado.getSiblings()[0+offsetUSado]>
60 <img alt="${dataPers.getAttribute("alt")}" data-fileentryid="${dataPers.getAttribute("fileEntryId")}" src="${dataPers.getData()}" />
61 <#assign numPersUsados = 1+offsetUSado>
62 <#if (necesito3) && (IconoPersonalizado.getSiblings()[1]??) && (IconoPersonalizado.getSiblings()[1].getData()!="")>
63 <#assign dataPers = IconoPersonalizado.getSiblings()[1]>
64 <img alt="${dataPers.getAttribute("alt")}" data-fileentryid="${dataPers.getAttribute("fileEntryId")}" src="${dataPers.getData()}" />
65 <#assign numPersUsados = 2>
66 <#if (IconoPersonalizado.getSiblings()[2]??) && (IconoPersonalizado.getSiblings()[2].getData()!="")>
67 <#assign dataPers = IconoPersonalizado.getSiblings()[2]>
68 <img alt="${dataPers.getAttribute("alt")}" data-fileentryid="${dataPers.getAttribute("fileEntryId")}" src="${dataPers.getData()}" />
69 <#assign numPersUsados = 3>
70 </#if>
71 </#if>
72 </#if>
73 <#break>
74 <#case 2>
75 <div role="img" alt="Logo ${parseIconData(SelectorIconosPredefinidos.getSiblings()[0].getData())}" class="iconflag ${parseIconData(SelectorIconosPredefinidos.getSiblings()[0].getData())}"></div>
76 <div class="iconflag ${parseIconData(SelectorIconosPredefinidos.getSiblings()[1].getData())}"></div>
77 <#if existePers && (IconoPersonalizado.getSiblings()[0]??) && (IconoPersonalizado.getSiblings()[0].getData()!="")>
78 <#assign dataPers = IconoPersonalizado.getSiblings()[0]>
79 <img alt="${dataPers.getAttribute("alt")}" data-fileentryid="${dataPers.getAttribute("fileEntryId")}" src="${dataPers.getData()}" />
80 <#assign numPersUsados = 1>
81 </#if>
82 <#break>
83 <#default>
84 <div role="img" alt="Logo ${parseIconData(SelectorIconosPredefinidos.getSiblings()[0].getData())}" class="iconflag ${parseIconData(SelectorIconosPredefinidos.getSiblings()[0].getData())}"></div>
85 <div role="img" alt="Logo ${parseIconData(SelectorIconosPredefinidos.getSiblings()[1].getData())}" class="iconflag ${parseIconData(SelectorIconosPredefinidos.getSiblings()[1].getData())}"></div>
86 <div role="img" alt="Logo ${parseIconData(SelectorIconosPredefinidos.getSiblings()[2].getData())}" class="iconflag ${parseIconData(SelectorIconosPredefinidos.getSiblings()[2].getData())}"></div>
87 </#switch>
88 <div role="img" alt="<@liferay.language key='es.adif.header.adif' />" class="iconflag ${getSiteIcon()}"></div>
89
90 </div>
91 <div class="logos-prensa-no_oficial">
92 <#else>
93 <div class="logos-prensa-oficial">
94 </#if>
95 <#if IconoPersonalizado??>
96 <#if IconoPersonalizado.getSiblings()?has_content>
97 <#assign listPers = IconoPersonalizado.getSiblings()?size>
98 <#if listPers gt numPersUsados>
99 <#list IconoPersonalizado.getSiblings() as cur_IconoPersonalizado>
100 <#if (cur_IconoPersonalizado?index + 1 > numPersUsados) && (cur_IconoPersonalizado.getData()??) && (cur_IconoPersonalizado.getData() != "")>
101 <#if (cur_IconoPersonalizado?index - numPersUsados) != 0 && ((cur_IconoPersonalizado?index - numPersUsados) % 5) == 0 >
102 </div>
103 <div class="logos-prensa-no_oficial">
104 </#if>
105 <img alt="${cur_IconoPersonalizado.getAttribute("alt")}" data-fileentryid="${cur_IconoPersonalizado.getAttribute("fileEntryId")}" src="${cur_IconoPersonalizado.getData()}" />
106 </#if>
107 </#list>
108 </#if>
109 </#if>
110 </#if>
111 </div>
112 </div>
113 <!--ENTRADILLA-->
114 <#if Entradilla.getData()?? && Entradilla.getData() != "">
115 <div class="entradilla-prensa">
116 ${Entradilla.getData()}
117 </div>
118 </#if>
119
120 <!--CABECERA-->
121 <header class="adif-encabezado">
122 <@adif.header title=titulo.getData()/>
123 <#if subtitulo.getData()?? && subtitulo.getData() != "">
124 <h2 class="subtitulo-nota-prensa">${subtitulo.getData()}</h2>
125 </#if>
126 </header>
127
128 <!--FECHA-->
129 <div class="fecha-nota-prensa">
130 <#assign dateFormat = "dd/MM/yyyy" />
131 <#assign displaydate = .vars['reserved-article-display-date'].data>
132 <#assign originalLocale = .locale>
133 <#setting locale = localeUtil.getDefault()>
134 <#assign displaydate = displaydate?datetime("EEE, d MMM yyyy HH:mm:ss Z")>
135 <#assign fechaFormateada = displaydate?string["dd MMMM yyyy"] >
136 <p>${fechaFormateada}</p>
137 <!-- ENLACE DESCARGA PDF-->
138 <a tabindex="-1" href="#"><span class="icono-pdf-descarga"></span></a>
139 </div>
140
141 <!--CATEGORÍAS-->
142 <#if categorias?has_content>
143 <div class="tags-download">
144
145 <ul class="adif-tags" style="list-style: none;">
146 <#assign categoriasOrd= []>
147 <#assign listNumber= 0>
148 <#list categorias as category>
149 <#switch category.getVocabularyId()>
150 <#case 333398>
151 <#-- Set listNumber to 0, in order to hide categories from voc 333398 (Comunidades) -->
152 <#assign listNumber= 0>
153 <#break>
154 <#case 939037>
155 <#assign listNumber= 2>
156 <#break>
157 <#case 939036>
158 <#assign listNumber= 3>
159 <#break>
160 <#case 595001>
161 <#assign listNumber= 4>
162 <#break>
163 <#default>
164 <#assign listNumber= 0>
165 </#switch>
166 <#if listNumber gt 0 >
167 <#assign categoriasOrd = categoriasOrd + [{"list": listNumber, "name": category.getName(), "cId":category.getCategoryId()}]>
168 </#if>
169 </#list>
170 <#list categoriasOrd?sort_by("list") as i>
171 <li class="tags-notas-prensa">
172 <a href="${notasPrensaFriendlyUrl}?buscador-prensa-categorias=${i.cId}">
173 <span class="sr-only"><@liferay.language key='es.adif.prensa.tipo-categoria' /></span> ${i.name}</a>
174 </li>
175 </#list>
176 </ul>
177 </div>
178 </#if>
179
180 <!--CUERPO TEXTO E IMAGEN-->
181 <div class="margin-bottom-prensa">
182 <#if imagen.getData()?? && imagen.getData() != "">
183 <div class="imagen-cuerpo-nota-prensa">
184 <img alt="${imagen.getAttribute('alt')}" data-fileentryid="${imagen.getAttribute("fileEntryId")}" src="${imagen.getData()}" />
185 </div>
186 </#if>
187 <div class="cuerpo-nota-prensa" >
188 ${cuerpo.getData()}
189 </div>
190 </div>
191
192 <!-- COMPARTIR -->
193 <#assign currentURL = portalUtil.getCurrentURL(request)
194
195 titulo = htmlUtil.escapeURL(titulo.getData())
196 currentUrl = currentURL
197 textoCola = " a través de @Adif_es"
198 urlTwitter = "https://twitter.com/intent/tweet?text="
199 facebookURL = 'https://www.facebook.com/sharer/sharer.php?u='
200 serverName = request.getServerName()
201 url = "https://"+serverName
202 url=url+currentUrl
203 urlFinalTwitter=urlTwitter+titulo+' '+url+textoCola
204 urlFinalFacebook=facebookURL+url+'&scrape=true'
205 />
206
207 <div class="adif-share-block nota-prensa">
208 <div class="adif-share-block-item adif-share-block-item-social-sharing">
209 <p>
210 <span role="heading" aria-level="3" class="adif-share-block-item-label"><@liferay.language key='es.adif.prensa.compartir-en' /></span>
211 </p>
212 <ul class="adif-share-block-item adif-share-block-item-social-sharing">
213 <li><a class="icono-twitter icono adif-icon ai-twitter c-dark-aquamarine" id="twitter-nota-prensa" href="${urlFinalTwitter}" target="_blank"><span class="sr-only"><@liferay.language key='es.adif.prensa.compartir-nota-twitter' /></span></a></li>
214 <li><a class="icono-facebook icono adif-icon ai-facebook c-dark-aquamarine" id="facebook-nota-prensa" href="${urlFinalFacebook}" target="_blank"><span class="sr-only"><@liferay.language key='es.adif.prensa.compartir-nota-facebook' /></span></a></li>
215 </ul>
216
217 </div><!-- /.adif-share-block-item -->
218 <div class="adif-share-block-item adif-share-block-item-download">
219 <p>
220 <span role="heading" aria-level="3" class="adif-share-block-item-label"><@liferay.language key='es.adif.prensa.descargar' /></span>
221 <a href="${pdfDownloadServletUrl}" target="_blank"
222 class="icono-descarga icono adif-icon ai-download c-dark-aquamarine"
223 id="download-nota-prensa">
224 <span class="sr-only" ><@liferay.language key='es.adif.prensa.descargar-nota-prensa' /></span>
225 </a>
226 </p>
227 </div><!-- /.adif-share-block-item -->
228 </div><!-- /.adif-share-block -->
229
230 <!-- SLIDER IMAGENES Y VIDEOS -->
231 <#assign haySlider = 'false'/>
232 <#if (images?? && images.getData()!= "") || (videos?? && videos.getData()!= "") >
233 <div class="slider-notas-prensa margin-bottom-prensa ">
234 <#if images.getSiblings()?has_content>
235 <#list images.getSiblings() as cur_images>
236 <#if cur_images.getData()?? && cur_images.getData() != ''>
237 <#assign haySlider = 'true'/>
238 <div>
239 <div class="slider-notas-prensa-item" data-descarga="${cur_images.getData()}" style="background-image:url('${cur_images.getData()}');">
240 <img src="${cur_images.getData()}" />
241 </div>
242 </div>
243 </#if>
244 </#list>
245 </#if>
246 <#if videos.getSiblings()?has_content>
247 <#list videos.getSiblings() as cur_videos>
248 <#if cur_videos.getData()?? && cur_videos.getData() != ''>
249 <#assign haySlider = 'true'/>
250 <div class="slider-notas-prensa-item-video" data-descarga="${cur_videos.getData()}" >
251 <video loop controls>
252 <source src="${cur_videos.getData()}" type="video/mp4">
253 <source src="${cur_videos.getData()}" type="video/ogg">
254 Your browser does not support the video tag.
255 </video>
256 </div>
257 </#if>
258 </#list>
259 </#if>
260 </div>
261 </#if>
262 <input id="haySlider" type="hidden" value="${haySlider}"/>
263
264 <!-- DOCUMENTOS-->
265 <div id="documentos-relacionados" class="row margin-bottom-prensa margin-top-prensa">
266 <#if (docs?? && docs.getData()!= "") || (images?? && images.getData()!= "") || (videos?? && videos.getData()!= "") >
267 <div class="col-md-12 col-lg-6 documentos-nota-prensa">
268 <div class="titulo-doc-notas-prensa">
269 <div class="icono-download-prensa icono adif-icon ai-cloud-download c-navy"></div>
270 <span role="heading" aria-level="3"><@liferay.language key='es.adif.related.document' /></span>
271 </div>
272 <ul>
273 <#if images.getSiblings()?has_content>
274 <#list images.getSiblings() as cur_images>
275 <#if cur_images?? && cur_images.getData()!= "">
276 <li class="nota-prensa-li">
277 <#if cur_images.labelImagen?? && cur_images.labelImagen.getData()!= "">
278 <@adif.docSize doc=cur_images.getData() locale=locale label=cur_images.labelImagen.getData()/>
279 <#else>
280 <@adif.docSize doc=cur_images.getData() locale=locale/>
281 </#if>
282 </li>
283 </#if>
284 </#list>
285 </#if>
286 <#if videos.getSiblings()?has_content>
287 <#list videos.getSiblings() as cur_videos>
288 <#if cur_videos?? && cur_videos.getData()!= "">
289 <li class="nota-prensa-li">
290 <#if cur_videos.labelVideo?? && cur_videos.labelVideo.getData()!= "">
291 <@adif.docSize doc=cur_videos.getData() locale=locale label=cur_videos.labelVideo.getData()/>
292 <#else>
293 <@adif.docSize doc=cur_videos.getData() locale=locale/>
294 </#if>
295 </li>
296 </#if>
297 </#list>
298 </#if>
299 <#if docs.getSiblings()?has_content>
300 <#list docs.getSiblings() as cur_docs>
301 <#if cur_docs?? && cur_docs.getData()!= "">
302 <li class="nota-prensa-li">
303 <#if cur_docs.labelDocumento?? && cur_docs.labelDocumento.getData()!= "">
304 <@adif.docSize doc=cur_docs.getData() locale=locale label=cur_docs.labelDocumento.getData()/>
305 <#else>
306 <@adif.docSize doc=cur_docs.getData() locale=locale/>
307 </#if>
308 </li>
309 </#if>
310 </#list>
311 </#if>
312 </ul>
313
314 </div>
315 </#if>
316
317 <!-- TAMBIEN TE PUEDE INTERESAR -->
318 <#if enlaces.getSiblings()?has_content>
319 <div class="col-md-12 col-lg-6 enlaces-nota-prensa">
320 <#assign elementoVacio = 'false' />
321 <#list enlaces.getSiblings() as cur_enlaces>
322 <#if cur_enlaces?? && cur_enlaces.getData()!= "">
323 <#assign elementoVacio = 'true'/>
324 </#if>
325 </#list>
326 <#if elementoVacio == 'true'>
327 <div class="titulo-doc-notas-prensa">
328 <div class="icono-link-prensa icono adif-icon ai-links c-navy"></div>
329 <span role="heading" aria-level="3"><@liferay.language key='es.adif.also.like' /></span>
330 </div>
331
332 <ul>
333 <#list enlaces.getSiblings() as cur_enlaces>
334 <li class="nota-prensa-li">
335 <a href="${cur_enlaces.getData()}" target="_blank">
336 <#if cur_enlaces.textoEnlace?? && cur_enlaces.textoEnlace.getData()?has_content>
337 ${cur_enlaces.textoEnlace.getData()}
338 <#else>
339 ${cur_enlaces.getData()}
340 </#if>
341 </a>
342 </li>
343 </#list>
344 </ul>
345 </#if>
346 </div>
347 </#if>
348 </div>
349 <!-- tipo de nota de prensa: comunicado o nota de prensa -- solo para pdf -->
350 <div style="display:none">
351 ${TipoDeNotaDePrensa.getData()}
352 </div>
353 <!-- pie de página -->
354 <div style="display:none">
355 ${PieDePagina.getData()}
356 </div>
357</div>
358
359<script>
360 $(document).ready(function () {
361 $('.slider-notas-prensa').slick({
362 dots: false,
363 infinite: true,
364 speed: 500,
365 fade: true,
366 arrows: true,
367 cssEase: 'linear'
368 });
369
370
371 });
372</script>
373
374
375<#function parseIconData iconData >
376 <#assign parsedIconData = iconData />
377
378 <#if iconData == "AdifAV" >
379 <#assign parsedIconData = getAltSiteIcon() />
380 </#if>
381
382 <#return parsedIconData>
383</#function>
384
385<#function getAltSiteIcon >
386 <#assign altSiteIcon = "AdifAV" />
387
388 <#if groupId == 34745 >
389 <#assign altSiteIcon = "Adif" />
390 </#if>
391
392 <#return altSiteIcon>
393</#function>
394
395<#function getSiteIcon >
396 <#assign siteIcon = "Adif" />
397
398 <#if groupId == 34745 >
399 <#assign siteIcon = "AdifAV" />
400 </#if>
401
402 <#return siteIcon>
403</#function>