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 271, column 14]

----
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 271, column 9]
----
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 
114 
115 
116<div class="rs-content-template press-release"> 
117	<!-- HEADER --> 
118	<header class="rs-content-template__header"> 
119		<#if Entradilla.getData()?? && Entradilla.getData() != ""> 
120			<div class="rs-content-template__header__entrance"> 
121				${Entradilla.getData()} 
122			</div> 
123		</#if> 
124		<@adif.header title=titulo.getData()/> 
125		<#if subtitulo.getData()?? && subtitulo.getData() != ""> 
126			<h2>${subtitulo.getData()}</h2> 
127		</#if> 
128		<div class="rs-content-template__header__underlined-date"> 
129			<#assign dateFormat = "dd/MM/yyyy" /> 
130			<#assign displaydate = .vars['reserved-article-display-date'].data> 
131			<#assign originalLocale = .locale> 
132			<#setting locale = localeUtil.getDefault()> 
133			<#assign displaydate = displaydate?datetime("EEE, d MMM yyyy HH:mm:ss Z")> 
134			<#assign fechaFormateada = displaydate?string["dd MMMM yyyy"] > 
135			<p>${fechaFormateada}</p> 
136		</div> 
137	</header> 
138 
139	<!-- ETIQUETAS --> 
140	<#if categorias?has_content> 
141		<ul class="rs-content-template__tags"> 
142			<#assign categoriasOrd= []> 
143			<#assign listNumber= 0> 
144			<#list categorias as category> 
145				<#switch category.getVocabularyId()> 
146					<#case 333398> 
147						<#-- Set listNumber to 0, in order to hide categories from voc 333398 (Comunidades) --> 
148						<#assign listNumber= 0> 
149						<#break> 
150					<#case 939037> 
151						<#assign listNumber= 2> 
152						<#break> 
153					<#case 939036> 
154						<#assign listNumber= 3> 
155						<#break> 
156					<#case 595001> 
157						<#assign listNumber= 4> 
158						<#break> 
159					<#default> 
160					<#assign listNumber= 0> 
161				</#switch> 
162				<#if listNumber gt 0 >  
163					<#assign categoriasOrd = categoriasOrd + [{"list": listNumber, "name": category.getName(), "cId":category.getCategoryId()}]> 
164				</#if> 
165			</#list> 
166			<#list categoriasOrd?sort_by("list") as i> 
167					<li class="rs-content-template__tags__tag adif-link-accessible-wrapper"> 
168						<a href="${notasPrensaFriendlyUrl}?buscador-prensa-categorias=${i.cId}"> 
169						<span class="sr-only"><@liferay.language key='es.adif.prensa.tipo-categoria' /></span>	${i.name}</a> 
170					</li> 
171			</#list> 
172		</ul> 
173	</#if> 
174 
175	<!-- CUERPO (TEXTO E IMAGEN) --> 
176	<div class="rs-content-template__paragraphs"> 
177		<div class="rs-content-template__paragraphs__paragraph"> 
178			<#assign overflowHiddenStyle = "" /> 
179			<#if imagen.getData()?? && imagen.getData() != ""> 
180				<#assign overflowHiddenStyle = "rs-content-template__paragraphs__paragraph__description--overflow-hidden" /> 
181				<img class="rs-content-template__paragraphs__paragraph__img rs-content-template__paragraphs__paragraph__img--left" alt="${imagen.getAttribute('alt')}" data-fileentryid="${imagen.getAttribute("fileEntryId")}" src="${imagen.getData()}" /> 
182			</#if> 
183			<div role="paragraph" class="rs-content-template__paragraphs__paragraph__description ${overflowHiddenStyle}"> 
184				${cuerpo.getData()} 
185			</div> 
186		</div> 
187	</div> 
188 
189	<!-- ADIF SHARE --> 
190 
191	<#assign  
192		currentURL = portalUtil.getCurrentURL(request) 
193		titulo = htmlUtil.escapeURL(titulo.getData()) 
194		currentUrl = currentURL 
195		textoCola = " a través de @Adif_es" 
196		urlTwitter = "https://twitter.com/intent/tweet?text=" 
197		facebookURL = 'https://www.facebook.com/sharer/sharer.php?u=' 
198		serverName = request.getServerName() 
199		url = "https://"+serverName 
200		url=url+currentUrl 
201		urlFinalTwitter=urlTwitter+titulo+' '+url+textoCola 
202		urlFinalFacebook=facebookURL+url+'&scrape=true' 
203	/> 
204 
205	<div class="rs-content-template__share"> 
206		<div class="rs-content-template__share__item"> 
207			<p> 
208				<span role="heading" aria-level="3" class="rs-content-template__share__item__label"> 
209					<@liferay.language key='es.adif.prensa.compartir-en' /> 
210				</span> 
211			</p> 
212			<ul class="rs-content-template__share__item__icons"> 
213				<li><a class="icono-twitter 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 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> 
218		<div class="rs-content-template__share__item"> 
219			<p> 
220				<span role="heading" aria-level="3" class="rs-content-template__share__item__label"> 
221					<@liferay.language key='es.adif.prensa.descargar' /> 
222				</span> 
223			</p> 
224			<a 
225				href="${pdfDownloadServletUrl}"  
226				target="_blank" 
227				class="download-file-link" 
228				id="download-nota-prensa"> 
229					<span class="sr-only"><@liferay.language key='es.adif.prensa.descargar-nota-prensa' /></span> 
230			</a>		 
231		</div> 
232	</div> 
233 
234	<!-- SLIDER IMAGENES Y VIDEOS --> 
235	<#assign haySlider = 'false'/> 
236	<#if (images?? && images.getData()!= "") ||  (videos?? && videos.getData()!= "")> 
237		<div class="rs-content-template__slider press_release_slider"> 
238			<#if images.getSiblings()?has_content> 
239				<#list images.getSiblings() as cur_images> 
240					<#if cur_images.getData()?? && cur_images.getData() != ''> 
241						<#assign haySlider = 'true'/> 
242						<div> 
243							<div class="rs-content-template__slider__slide-img" data-descarga="${cur_images.getData()}" style="background-image:url('${cur_images.getData()}');"> 
244								<img src="${cur_images.getData()}" /> 
245							</div> 
246						</div> 
247					</#if> 
248 
249				</#list> 
250			</#if> 
251			<#if videos.getSiblings()?has_content> 
252				<#list videos.getSiblings() as cur_videos> 
253					<#if cur_videos.getData()?? && cur_videos.getData() != ''> 
254						<#assign haySlider = 'true'/> 
255						<div class="rs-content-template__slider__slide-video" data-descarga="${cur_videos.getData()}" > 
256							<video loop controls> 
257								<source src="${cur_videos.getData()}" type="video/mp4"> 
258								<source src="${cur_videos.getData()}" type="video/ogg"> 
259								<@liferay.language key="es.adif.browser.does.not.support.video.tag"/> 
260							</video> 
261						</div> 
262					</#if> 
263				</#list> 
264			</#if> 
265		</div> 
266	</#if> 
267	<input id="haySlider" type="hidden" value="${haySlider}"/> 
268 
269	<!-- DOCUMENTOS--> 
270	<#assign hayEnlaces = 'false' /> 
271	<#if enlaces.getSiblings()?has_content> 
272		<#list enlaces.getSiblings() as enlace> 
273			<#if enlace?? && enlace.getData()!= ""> 
274				<#assign hayEnlaces = 'true'/> 
275			</#if> 
276		</#list> 
277	</#if> 
278	<#assign hayDocumentos = 'false' /> 
279	<#if (docs?? && docs.getData()!= "") ||  (images?? && images.getData()!= "") || (videos?? && videos.getData()!= "")  > 
280		<#assign hayDocumentos = 'true'> 
281	</#if> 
282	<div class="rs-content-template__related<#if hayEnlaces=='true' && hayDocumentos='true'> rs-2column<#else> rs-1column</#if>"> 
283		<#if (docs?? && docs.getData()!= "") ||  (images?? && images.getData()!= "") || (videos?? && videos.getData()!= "")  > 
284			<div> 
285				<div class="rs-content-template__related__header"> 
286					<div class="rs-content-template__related__header__icon adif-icon ai-cloud-download c-navy"></div> 
287					<span role="heading" aria-level="3"><@liferay.language key='es.adif.related.document' /></span> 
288				</div> 
289				<ul class="list-of-links"> 
290					<#if images.getSiblings()?has_content> 
291						<#list images.getSiblings() as cur_images> 
292							<#if cur_images?? && cur_images.getData()!= ""> 
293								<li> 
294									<div class="adif-link-accessible-wrapper"> 
295									<#if cur_images.labelImagen?? && cur_images.labelImagen.getData()!= ""> 
296										<@adif.docSize doc=cur_images.getData() locale=locale label=cur_images.labelImagen.getData()/> 
297									<#else> 
298										<@adif.docSize doc=cur_images.getData() locale=locale/> 
299									</#if> 
300									</div> 
301								</li> 
302							</#if> 
303						</#list> 
304					</#if> 
305					<#if videos.getSiblings()?has_content> 
306						<#list videos.getSiblings() as cur_videos> 
307							<#if cur_videos?? && cur_videos.getData()!= ""> 
308								<li> 
309									<div class="adif-link-accessible-wrapper"> 
310									<#if cur_videos.labelVideo?? && cur_videos.labelVideo.getData()!= ""> 
311										<@adif.docSize doc=cur_videos.getData() locale=locale label=cur_videos.labelVideo.getData()/> 
312									<#else> 
313										<@adif.docSize doc=cur_videos.getData() locale=locale/> 
314									</#if> 
315									</div> 
316								</li> 
317							</#if> 
318						</#list> 
319					</#if> 
320					<#if docs.getSiblings()?has_content> 
321						<#list docs.getSiblings() as cur_docs> 
322							<#if cur_docs?? && cur_docs.getData()!= ""> 
323								<li> 
324									<div class="adif-link-accessible-wrapper"> 
325									<#if cur_docs.labelDocumento?? && cur_docs.labelDocumento.getData()!= ""> 
326										<@adif.docSize doc=cur_docs.getData() locale=locale label=cur_docs.labelDocumento.getData()/> 
327									<#else> 
328										<@adif.docSize doc=cur_docs.getData() locale=locale/> 
329									</#if> 
330									</div> 
331								</li> 
332							</#if> 
333						</#list> 
334					</#if> 
335				</ul> 
336 
337			</div> 
338		</#if> 
339 
340		<!-- TAMBIEN TE PUEDE INTERESAR --> 
341		<#if enlaces.getSiblings()?has_content> 
342			<div> 
343				<#assign elementoVacio = 'false' /> 
344				<#list enlaces.getSiblings() as cur_enlaces> 
345					<#if cur_enlaces?? && cur_enlaces.getData()!= ""> 
346						<#assign elementoVacio = 'true'/> 
347					</#if> 
348				</#list> 
349				<#if elementoVacio == 'true'> 
350					<div class="rs-content-template__related__header"> 
351						<div class="rs-content-template__related__header__icon adif-icon ai-links c-navy"></div> 
352						<span role="heading" aria-level="3"><@liferay.language key='es.adif.also.like' /></span> 
353					</div> 
354 
355					<ul class="list-of-links"> 
356						<#list enlaces.getSiblings() as cur_enlaces> 
357							<li> 
358								<a href="${cur_enlaces.getData()}" target="_blank"> 
359									<#if cur_enlaces.textoEnlace?? && cur_enlaces.textoEnlace.getData()?has_content> 
360										${cur_enlaces.textoEnlace.getData()} 
361									<#else> 
362										${cur_enlaces.getData()} 
363									</#if> 
364								</a> 
365							</li> 
366						</#list> 
367					</ul> 
368				</#if> 
369			</div> 
370		</#if> 
371	</div> 
372</div> 
373 
374<!-- SÓLO PARA PDF --> 
375<div style="display:none"> 
376	${TipoDeNotaDePrensa.getData()} 
377</div> 
378 
379<!-- PIÉ DE PÁGINA --> 
380<div style="display:none"> 
381	${PieDePagina.getData()} 
382</div> 
383 
384<script> 
385	$(document).ready(function () { 
386		$('.press_release_slider').slick({ 
387			dots: false, 
388			infinite: true, 
389			speed: 500, 
390			fade: true, 
391			arrows: true, 
392			cssEase: 'linear' 
393		}); 
394	});	 
395</script> 
396 
397 
398<#function parseIconData iconData > 
399    <#assign parsedIconData = iconData /> 
400     
401    <#if iconData == "AdifAV" > 
402    	<#assign parsedIconData = getAltSiteIcon() /> 
403    </#if> 
404     
405    <#return parsedIconData> 
406</#function> 
407 
408<#function getAltSiteIcon > 
409    <#assign altSiteIcon = "AdifAV" /> 
410     
411	<#if groupId == 34745 > 
412		<#assign altSiteIcon = "Adif" /> 
413	</#if> 
414     
415    <#return altSiteIcon> 
416</#function> 
417 
418<#function getSiteIcon > 
419    <#assign siteIcon = "Adif" /> 
420     
421	<#if groupId == 34745 > 
422		<#assign siteIcon = "AdifAV" /> 
423	</#if> 
424     
425    <#return siteIcon> 
426</#function>