Produciuse un erro ao procesar o modelo.
Expression Enlaces.getChild("Target_url") is undefined on line 72, column 67 in 355648#355686#4472734.
1<#-- Evitar request undefined al procesar la plantilla para obtener descripcion --> 
2<#if .vars['request']?has_content> 
3	<#assign GroupLocalService = serviceLocator.findService("com.liferay.portal.service.GroupLocalService")> 
4	<#assign LayoutLocalService = serviceLocator.findService("com.liferay.portal.service.LayoutLocalService")/> 
5	<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")/> 
6	<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetCategoryLocalService")/> 
7	<#assign AssetTagLocalService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetTagLocalService")/> 
8 
9	<#assign currentURL = httpUtil.getProtocol(request['attributes']['CURRENT_URL']) + "://" + getterUtil.getString(request['theme-display']['portal-url']) + getterUtil.getString(request['attributes']['CURRENT_URL']) /> 
10	 
11	<#assign layoutNoticias = LayoutLocalService.getFriendlyURLLayout(groupId, false, "/noticias")> 
12	<#assign noticiasURL = portal.getPathFriendlyURLPublic() + GroupLocalService.getGroup(groupId).getFriendlyURL() + layoutNoticias.getFriendlyURL(locale) /> 
13	 
14	<#assign journalArticle = JournalArticleLocalService.getArticle(getterUtil.getLong(groupId), .vars['reserved-article-id'].data) /> 
15	<#assign resourcePrimKey = journalArticle.getResourcePrimKey() /> 
16	<#assign categories = AssetCategoryLocalService.getCategories("com.liferay.portlet.journal.model.JournalArticle", getterUtil.getLong(resourcePrimKey)) /> 
17	<#assign tags = AssetTagLocalService.getTags("com.liferay.portlet.journal.model.JournalArticle", getterUtil.getLong(resourcePrimKey)) /> 
18 
19 
20<style>#panel_0{display: none;}</style> 
21 
22	<div class="bannerCabecera"> 
23	 
24			<img class="lazy" data-src="${ImagenCabecera.getData()}" alt="" aria-hidden="true"> 
25	</div> 
26 
27	 
28	<div class="ancho-fijo"> 
29 
30			<article class="detalle-noticia" id="description"> 
31	 
32 
33			<#-- Retrieve the published date meta data field of the web content --> 
34			<#assign displaydate = .vars['reserved-article-display-date'].data> 
35 
36			<#-- Save the original page locale for later --> 
37			<#assign originalLocale = locale> 
38 
39			<#-- Set the page locale to the portals default locale --> 
40			<#setting locale = localeUtil.getDefault()> 
41 
42			<#-- Parse the date to a date object --> 
43			<#assign displaydate = displaydate?datetime("EEE, d MMM yyyy HH:mm:ss Z")> 
44 
45			<#-- Set the page locale back to the original page locale --> 
46			<#assign locale = originalLocale> 
47			 
48			<#-- Si el locale es en_US, forzamos al readspeker a leer en locale por defecto (las noticias no se traducen al ingles) --> 
49			<#if locale == "en_US" > 
50				<#assign readSpeakerLocale = localeUtil.getDefault()> 
51			<#else> 
52				<#assign readSpeakerLocale = locale> 
53			</#if> 
54		 
55 
56			<h2>${Titulo.getData()}</h2> 
57 
58			<div class="texto"> 
59				<div class="entrada"> 
60					${Entrada.getData()} 
61				</div> 
62				<hr> 
63 
64				<time datetime="${displaydate?string["yyyy-MM-dd"]}" class="fecha">${displaydate?string["dd/MM/y"]}</time> 
65 
66				<div class="cuerpo"> 
67					${Cuerpo.getData()} 
68				</div> 
69			 
70				<#if Enlaces.getSiblings()?has_content> 
71					<#if Enlaces.getSiblings()?size == 1> 
72						<#assign target = Enlaces.getChild("Target_url").getData()> 
73						<#assign textoEnlace = Enlaces.getChild("Texto_enlace").getData()> 
74						<#assign tituloEnlace = Enlaces.getChild("Titulo_enlace").getData()> 
75						<#if target != "null"  && target != "" && textoEnlace != "null"  && textoEnlace != ""> 
76							<div class="enlaces"> 
77								<div class="icono"> 
78									<span class="flaticon-link-2"></span> 
79								</div> 
80								<div class="lista-enlaces"> 
81									<div class="enlace" > 
82										<a href="${target}" target="_blank"> 
83											${textoEnlace} 
84										</a> 
85										<#if tituloEnlace != "null"  && tituloEnlace != ""> 
86											${tituloEnlace} 
87										</#if> 
88									</div> 
89								</div> 
90							</div> 
91						</#if> 
92					<#else> 
93						<div class="enlaces"> 
94							<div class="icono"> 
95								<span class="flaticon-link-2"></span> 
96							</div> 
97							<div class="lista-enlaces"> 
98								<#list Enlaces.getSiblings() as enlace> 
99									<#assign target = enlace.getChild("Target_url").getData()> 
100									<#assign textoEnlace = enlace.getChild("Texto_enlace").getData()> 
101									<#assign tituloEnlace = enlace.getChild("Titulo_enlace").getData()> 
102									 
103									<div class="enlace"> 
104										<#if target != "null"  && target != "" && textoEnlace != "null"  && textoEnlace != ""> 
105											<a href="${target}" target="_blank"> 
106												${textoEnlace} 
107											</a> 
108											<#if tituloEnlace != "null"  && tituloEnlace != ""> 
109												${tituloEnlace} 
110											</#if> 
111										</#if> 
112									</div> 
113								</#list> 
114							</div> 
115						</div> 
116					</#if> 
117				</#if> 
118				 
119				<#if categories?has_content || tags?has_content> 
120					<div class="clasificacion" style="clear: both;"> 
121						<#if categories?has_content> 
122							<#assign categoriesHtml = languageUtil.get(locale, "categories") + ": "> 
123							 
124							<#list categories as category> 
125								<#assign categoriesHtml = categoriesHtml + '<a href="' + noticiasURL + '?p_p_id=101_INSTANCE_gGZGMcAjLfyA&p_r_p_564233524_categoryId=' + category.getCategoryId() + '" target="_blank">' + category.getName() + '</a>, ' > 
126							</#list> 
127						 
128							<div> 
129							<i class="fa fa-tags" aria-hidden="true"></i> 
130	${categoriesHtml?substring(0, categoriesHtml?length - 2)} 
131							</div> 
132						</#if> 
133						 
134						<#if tags?has_content> 
135							<#assign tagsHtml = languageUtil.get(locale, "tags") + ": "> 
136							 
137							<#list tags as tag> 
138								<#assign tagsHtml = tagsHtml + '<a href="' + noticiasURL + '?p_p_id=101_INSTANCE_gGZGMcAjLfyA&p_r_p_564233524_tag=' + tag.getName()?string?replace(' ', '+') + '" target="_blank">' + tag.getName() + '</a>, ' > 
139							</#list> 
140						 
141							<div> 
142								<i class="fa fa-tags" aria-hidden="true"></i> 
143${tagsHtml?substring(0, tagsHtml?length - 2)} 
144							</div> 
145						</#if> 
146					</div> 
147				</#if> 
148			 
149 
150			</div> 
151 
152		</article> 
153 
154 
155	</div> 
156 
157 
158 
159	<#assign tituloJSON = Titulo.getData()?replace('"|”|“', '', 'r') > 
160	<#assign entradaJSON = Entrada.getData()?replace('"|”|“', '', 'r') > 
161 
162 
163<script type="application/ld+json"> 
164
165  "@context": "https://schema.org", 
166  "@type": "NewsArticle", 
167  "mainEntityOfPage": { 
168    "@type": "WebPage", 
169    "@id": "https://turismoriasbaixas.com" 
170  }, 
171  "headline": "${tituloJSON}", 
172  "image": [ 
173    "https://turismoriasbaixas.com/PortalWebv2-theme/images/cabeceras/generica-noticias.jpg" 
174   ], 
175  "datePublished": "${displaydate?string["yyyy-MM-dd"]}", 
176  "dateModified": "${displaydate?string["yyyy-MM-dd"]}", 
177  "author": { 
178    "@type": "Person", 
179    "name": "Turismo Rias Baixas" 
180  }, 
181   "publisher": { 
182    "@type": "Organization", 
183    "name": "Turismo Rias Baixas", 
184    "logo": { 
185      "@type": "ImageObject", 
186      "url": "https://turismoriasbaixas.com/PortalWebv2-theme/images/svg/logo.svg" 
187
188  }, 
189  "description": "${entradaJSON}" 
190
191</script> 
192<#else> 
193	${Titulo.getData()} 
194	${Entrada.getData()} 
195</#if>