Zurück Die besten Routen mit Wasserfällen in Asturien

Fehler bei der Verarbeitung der Vorlage.
Java method "as.asac.template.tools.DLToolImpl.getThumbnail(String, String)" threw an exception when invoked on as.asac.template.tools.DLToolImpl object "as.asac.template.tools.DLToolImpl@74cfa682"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${dlTool.getThumbnail(parrafo.Parrafo...  [in template "37703#37743#943631" at line 165, column 91]
----
1<#-- Services --> 
2<#assign assetEntryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")/> 
3<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService")/> 
4<#assign localizationUtil = serviceLocator.findService("com.liferay.portal.kernel.util.LocalizationUtil")/> 
5 
6<#-- Reserved vbles --> 
7<#assign title = .vars['reserved-article-title'].data> 
8<#assign articleId=.vars["reserved-article-id"].data /> 
9<#assign description=.vars["reserved-article-description"].data /> 
10<#assign smallImageUrl=.vars["reserved-article-small-image-url"].data /> 
11<#assign displayDate=.vars["reserved-article-display-date"].data /> 
12<#assign request = .vars['request']> 
13 
14<#-- Init --> 
15<#assign assetEntry = journalTool.getAssetEntryByArticleId(groupId, articleId)> 
16<#assign journalArticle = journalTool.getJournalArticleByAssetEntry(assetEntry)> 
17<#assign articleURL = themeDisplay.getURLPortal()+themeDisplay.getURLCurrent()> 
18<#assign articleSocialBookmarks = themeDisplay.getThemeSetting("article-social-bookmarks")!> 
19<#assign layoutSetBannerPath = layoutTool.getLayoutSetBannerPath(groupId, themeDisplay.getLayout().isPrivateLayout())!> 
20<#assign articleMainImageThumbnail3 = dlTool.getThumbnail(smallImageUrl, "3", layoutSetBannerPath)! /> 
21<#assign articleMainImageThumbnail1 = dlTool.getThumbnail(smallImageUrl, "1")! /> 
22<#assign ddmStructureNameNormalize = "template-${friendlyURLNormalizerTool.normalize(journalArticle.getDDMStructure().getName(localeUtil.getDefault()))}" /> 
23 
24<#assign layoutSet = layout.getLayoutSet() /> 
25<#assign categoriesBlog = journalTool.getCategories(scopeGroupId, articleId, ["Blog"])! /> 
26<#assign tags = journalTool.getTags(scopeGroupId, articleId)! /> 
27 
28<#if TituloH1?? && validator.isNotNull(TituloH1.data)> 
29	<#assign title = TituloH1.data> 
30</#if> 
31 
32<article class="template ${ddmStructureNameNormalize}" role="article"  itemscope="" itemtype="http://schema.org/BlogPosting"> 
33	 
34	<div class="page-header wide-container" style="background-image: url('${smallImageUrl}') ; "> 
35		<img class="page-header-image d-sm-none" src="${smallImageUrl}" alt="${languageUtil.get(request, 'image')} Post" /> 
36		<div class="page-title-wrapper"> 
37			<div class="page-title "> 
38				<div class="container"> 
39					<div class="title-wrapper mb-5"> 
40						<div class="title-inner">			 
41							<h1 class="title mb-4" itemprop="name">${title}</h1> 
42							<#if description?has_content> 
43								<p class="description mb-4" itemprop="description">${htmlUtil.extractText(description)}</p> 
44							</#if> 
45						</div> 
46					</div> 
47				</div> 
48			</div> 
49		</div> 
50	</div> 
51	<div class="container mt-2 mt-sm-5"> 
52	<div class="row"> 
53		<section class="col-12 col-xl-8 col-xxl-9 pr-xl-8"> 
54			<span class="hide-accessible" itemprop="dateCreated">${dateUtil.getDate(journalArticle.getDisplayDate(), "yyyy-MM-dd HH:mm:ss'.'SSS", locale, timeZone)}</span> 
55			<div class="blog-entry-date text-uppercase border-bottom pb-3 mb-4"> 
56				${dateUtil.getDate(journalArticle.getDisplayDate(), "MMMM yyyy", locale, timeZone)} 
57			</div> 
58			 
59			<div class="article-social-bookmarks mb-5"> 
60				<@liferay_social_bookmarks["bookmarks"] 
61					className="com.liferay.journal.model.JournalArticle" 
62					classPK=assetEntry.getEntryId() 
63					displayStyle="menu" 
64					target="_blank" 
65					title=title 
66					types=articleSocialBookmarks 
67					url="${articleURL}" 
68				/> 
69			</div> 
70 
71			<#if RedesSociales.RedesSocialesTwitter.data?has_content> 
72				<div class="article-section blog-social blog-social-twitter"> 
73					<a class="link-share twitter bold font-size-09" href="https://twitter.com/intent/tweet?text=${RedesSociales.RedesSocialesTwitter.data}!&url=${portalUtil.getCurrentCompleteURL(request)}&via=TurismoAsturias" title="${languageUtil.get(locale,'share')} en Twitter" target="_blank"> 
74						<span class="fa-brands fa-x-twitter font-size-14 mr-2"> 
75							<span class="hide-accessible">${languageUtil.get(request,'share')} en Twitter</span> 
76						</span> 
77						${RedesSociales.RedesSocialesTwitter.data} 
78					</a> 
79				</div> 
80			</#if> 
81			 
82			<#if RedesSociales.RedesSocialesFacebook.data?has_content> 
83				<div class="article-section blog-social blog-social-facebook"> 
84					<a class="link-share facebook bold font-size-09" href="https://www.facebook.com/sharer/sharer.php?u=${portalUtil.getCurrentCompleteURL(request)}" title="${languageUtil.get(locale,'share')} en Facebook" target="_blank" onclick="window.open(this.href, 'Compartir', 'resizable=no,status=no,location=no,toolbar=no,menubar=no,fullscreen=no,scrollbars=no,dependent=no,width=500,height=450'); return false;"> 
85						<span class="fab fa-facebook font-size-14 mr-2"> 
86							<span class="hide-accessible">${languageUtil.get(request,'share')} en Facebook</span> 
87						</span> 
88						${RedesSociales.RedesSocialesFacebook.data} 
89					</a> 
90				</div> 
91			</#if> 
92			<#if intro ??> 
93				<#if intro.IntroTitulo.data?has_content || intro.IntroTexto.data?has_content || intro.IntroTextoTabla.data?has_content> 
94					<div class="article-section-blog"> 
95						<div class="article-section-info"> 
96							<#if intro.IntroTexto.data?has_content> 
97								<div class="text text-justify">${intro.IntroTexto.data}</div> 
98							</#if> 
99						</div>					 
100						<#if intro.IntroTitulo.data?has_content> 
101							<h2 class="h3 text-center">${intro.IntroTitulo.data}</h2> 
102						</#if> 
103						<div class="article-section-info"> 
104							<#if intro.IntroTextoTabla.data?has_content> 
105								<div class="text text-justify">${intro.IntroTextoTabla.data}</div> 
106							</#if> 
107						</div> 
108						<div id="TablaContenidos"></div> 
109					</div> 
110				</#if> 
111			</#if> 
112			<#list Parrafo.getSiblings() as parrafo> 
113				<#if parrafo.ParrafoTitulo.data?has_content || parrafo.ParrafoTexto.data?has_content || parrafo.ParrafoImagen.data?has_content> 
114					<#assign curImgAlt = parrafo.ParrafoImagen.ParrafoImagenTexto.getData()/> 
115					<#if parrafo.ParrafoImagen.altImg??>		 
116						<#if validator.isNotNull(parrafo.ParrafoImagen.altImg.getData())> 
117							<#assign curImgAlt = parrafo.ParrafoImagen.altImg.getData()/> 
118						</#if>		 
119					</#if> 
120					<#assign curImgTitle = parrafo.ParrafoImagen.ParrafoImagenTexto.getData()/> 
121					<#if parrafo.ParrafoImagen.titleImg??>		 
122						<#if validator.isNotNull(parrafo.ParrafoImagen.titleImg.getData())> 
123							<#assign curImgTitle = parrafo.ParrafoImagen.titleImg.getData()/>	 
124						</#if>		 
125					</#if> 
126					<#assign tipoHeading = ""/>	 
127					<#if parrafo.headingTipo??>		 
128						<#if validator.isNotNull(parrafo.headingTipo.getData())> 
129							<#assign tipoHeading = parrafo.headingTipo.getData()/>	 
130						</#if> 
131					</#if> 
132					<div class="article-section-blog"> 
133						<#if themeDisplay.isSignedIn()> 
134							<div class="portlet-msg-info infoparrafo"> 
135								 
136								<p class="text-center"> 
137									<#assign pIndex = parrafo?index + 1 /> 
138									<span class="important">Párrafo <#if parrafo?index gt 0> ${pIndex}</#if></span> 
139									(Información visible únicamente para usuarios logueados) 
140								</p> 
141							</div> 
142						</#if> 
143						<#if parrafo.ParrafoTitulo.data?has_content> 
144							<#if parrafo.headingTipo?? && validator.isNull(parrafo.headingTipo.getData())> 
145								<h3 class="h3"> 
146									${parrafo.ParrafoTitulo.data} 
147								</h3> 
148							<#elseif tipoHeading == "h2"> 
149								<h2 class="h3 text-center"> 
150									${parrafo.ParrafoTitulo.data} 
151								</h2>		 
152							<#else> 
153								<h3 class="h3"> 
154									${parrafo.ParrafoTitulo.data} 
155								</h3>									 
156							</#if> 
157						</#if> 
158						<div class="article-section-info"> 
159							<#if parrafo.ParrafoTexto.data?has_content> 
160								<div class="text text-justify">${parrafo.ParrafoTexto.data}</div> 
161							</#if> 
162							<#if parrafo.ParrafoImagen.data?has_content> 
163								<div class="article-section-image-wrapper"> 
164									<div class="article-section-image"> 
165										<img src="${dlTool.getThumbnail(parrafo.ParrafoImagen.data, '3')}" class="rounded" alt="${curImgAlt}" title="${curImgTitle}"/> 
166										<#if parrafo.ParrafoImagen.ParrafoImagenTexto.data?has_content> 
167											<div class="article-section-image-footer">${parrafo.ParrafoImagen.ParrafoImagenTexto.data}</div> 
168										</#if> 
169									</div> 
170								</div> 
171							</#if> 
172						</div> 
173					</div> 
174				</#if> 
175			</#list> 
176 
177			<#if Contenido.data?has_content> 
178				<div class="article-section blog-content">${Contenido.data}</div> 
179			</#if> 
180			 
181			<#if Geolocalizacion??> 
182				<#if validator.isNotNull(Geolocalizacion.Coordenadas.data)> 
183					<#assign coordenadas=stringUtil.split(Geolocalizacion.Coordenadas.data) /> 
184					<div class="h3"> 
185						${languageUtil.get(request,'map')} 
186					</div> 
187					</a> 
188					<div id="article-map-wrapper-${articleId}" class="article-map-wrapper">  
189						<div id="article-map-content-${articleId}" style="width: 100%; height: 500px; z-index:1"><!-- MAP --></div> 
190						<div class="article-map-form">  
191							<div class="name important">${title}</div> 
192							<div class="gps"><span class="label">GPS:</span> <span class="value important" itemprop="geo">${Geolocalizacion.Coordenadas.data}</span></div> 
193							<form action="https://maps.google.es/maps" method="get" target="_blank"> 
194								<input type="hidden" name="daddr" value="${coordenadas[0]},${coordenadas[1]}"> 
195								<label for="saddr"><span class="label">${languageUtil.get(request,'infoasturias-from')}: </span></label> 
196								<input class="form-control" type="text" maxlength="40" name="saddrText" id="saddrText" value="" placeholder="${languageUtil.get(request,'infoasturias-insert-from')}"> 
197								<input class="form-control" type="hidden" name="saddr" id="saddr" value="" placeholder="${languageUtil.get(request,'infoasturias-insert-from')}"> 
198								<button class="btn btn-text" type="submit">${languageUtil.get(request,'infoasturias-como-llegar')} &raquo;</button> 
199							</form> 
200						</div> 
201					</div> 
202					<script src="/o/turismo-asturias-theme/js/leaflet/leaflet.js"></script> 
203					<script type="text/javascript"> 
204						AUI().ready('aui-base', function(A){ 
205							var lat = ${coordenadas[0]}, 
206								lng = ${coordenadas[1]}, 
207								zoom = 16; 
208							mapContent = new L.map('article-map-content-${articleId}', {center: [lat, lng], zoom: 16}); 
209 
210							//Marker 
211							var defaultIconTheme = '/o/turismo-asturias-theme/css/images/icons/mark-box.png'; 
212							var defaultIcon = L.icon({ 
213								iconUrl: defaultIconTheme, 
214								iconSize:     [36, 53], 
215								iconAnchor:   [18, 53], 
216								iconShadow:   [0,0], 
217								popupAnchor:  [0, -30] 
218							}); 
219							var marker = L.marker([lat, lng], {icon: defaultIcon}).addTo(mapContent); 
220							 
221							var contentString = '<div class="row">'; 
222							contentString += '<div class="col-12">'; 
223							contentString += '<div class="h4">${htmlUtil.escape(title)}</div>'; 
224							contentString += '</div>'; 
225							contentString += '</div>'; 
226							 
227							contentString += '<div class="row">'; 
228							contentString += '<div class="col-12">'; 
229							<#if validator.isNotNull(articleMainImageThumbnail1)> 
230								contentString += '<img class="pull-right mb-2 ml-2" src="${articleMainImageThumbnail1}" alt="$title"/>'; 
231							</#if> 
232							contentString += '<dl class="mb-0">'; 
233							<#if address?has_content> 
234								contentString += '<dt>${languageUtil.get(request,'address')}</dt>'; 
235								contentString += '<dd>${address}</dd>'; 
236							</#if> 
237							contentString += '</dl>'; 
238							contentString += '</div>'; 
239							contentString += '</div>'; 
240							<#if validator.isNotNull(description)> 
241								contentString += '<div class="row"><div class="col-12">${description}</div></div>'; 
242							</#if> 
243							marker.bindPopup(contentString); 
244 
245							//Contributor 
246							L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 
247								attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.' 
248							}).addTo(mapContent); 
249							 
250						}); //AUI.ready 
251					</script> 
252						 
253				</#if> 
254			</#if> 
255			<#if Colaborador.ColaboradorImagen.data?has_content || Colaborador.ColaboradorNombre.data?has_content || Colaborador.ColaboradorCopyright.data?has_content> 
256				<div class="article-section blog-collaborator-wrapper"> 
257					<div class="d-flex"> 
258						<#if Colaborador.ColaboradorImagen.data?has_content> 
259							<div class="blog-colaborador-image image-wrapper aspect-ratio-bg-cover mr-4" style="background-image: url('${dlTool.getThumbnail(Colaborador.ColaboradorImagen.data, '3')}');"> 
260								<img class="hide-accessible" src="${dlTool.getThumbnail(Colaborador.ColaboradorImagen.data, '1')}"/> 
261							</div> 
262						</#if> 
263						<#if Colaborador.ColaboradorNombre.data?has_content> 
264							<div class="text-justify w-100" itemprop="author">${languageUtil.get(request,'metadata.MSOffice.AUTHOR')}: ${Colaborador.ColaboradorNombre.data}</div> 
265						</#if> 
266					</div> 
267					<div class="article-section blog-copyright-wrapper"> 
268						<#if  Colaborador.ColaboradorCopyright.data?has_content> 
269							<span class="blog-copyright">${Colaborador.ColaboradorCopyright.data}</span> 
270						</#if> 
271					</div>					 
272				</div> 
273			</#if>		 
274			<#if (SeccionBanner.BannerCTA.getData())??> 
275				<#if SeccionBanner.BannerCTA.data?has_content> 
276					<div class="mt-5 text-center">				 
277						${SeccionBanner.BannerCTA.getData()} 
278					</div> 
279				</#if> 
280			</#if> 
281			<div class="border-top mt-5"> 
282				<div class="article-social-bookmarks mt-5"> 
283					<@liferay_social_bookmarks["bookmarks"] 
284						className="com.liferay.journal.model.JournalArticle" 
285						classPK=assetEntry.getEntryId() 
286						displayStyle="menu" 
287						target="_blank" 
288						title=title 
289						types=articleSocialBookmarks 
290						url="${articleURL}" 
291					/> 
292				</div> 
293 
294				<#if (categoriesBlog?has_content && categoriesBlog?size gt 0) || (tags?has_content && tags?size gt 0)> 
295					<div class="categories-tags-container mt-5"> 
296						<#if categoriesBlog?has_content && categoriesBlog?size gt 0>	 
297							<span class="categories mr-3">  			 
298								<#list categoriesBlog as categoryBlog>						 
299									<span class="category bold text-uppercase border-right pr-3">${categoryBlog.getName()}</span> 
300								</#list> 
301							</span> 
302						</#if> 
303 
304						<#if tags?has_content && tags?size gt 0>	 
305							<span class="tags">  			 
306								<#list tags as tag>						 
307									<span class="tag mr-3 text-secondary"><i class="fas fa-tag mr-1"><!--Icon--></i>${tag.getName()}</span> 
308								</#list> 
309							</span> 
310						</#if> 
311					</div> 
312				</#if> 
313			</div> 
314			 
315		</section> 
316		 
317		<section class="col-12 col-xl-4 col-xxl-3 px-4 pt-4 portlet-background-grey-container blog-info-extra"> 
318			<div class="social-container mb-6"> 
319				<div class="title h3">${languageUtil.get(request,'infoasturias-siguenos-en-las-redes')}</div> 
320				<ul class="list-inline items socials"> 
321					 
322					<#if layoutSet.getSettingsProperty("instagram")?has_content> 
323						<li class="list-inline-item item instagram mr-2"><a href="${layoutSet.getSettingsProperty("instagram")}" title="${languageUtil.format(request,'go-to-x','Instagram')}" onclick="this.target='_blank'"><i class="fab fa-instagram"><!-- icon --></i><span class="hide-accessible">${languageUtil.format(request,'go-to-x','Instagram')}</span></a></li> 
324					</#if> 
325 
326					<#if layoutSet.getSettingsProperty("facebook")?has_content> 
327						<li class="list-inline-item item facebook mr-2"><a href="${layoutSet.getSettingsProperty("facebook")}" title="${languageUtil.format(request,'go-to-x','Facebook')}" onclick="this.target='_blank'"><i class="fab fa-facebook"><!-- icon --></i><span class="hide-accessible">${languageUtil.format(request,'go-to-x','Facebook')}</span></a></li> 
328					</#if> 
329					 
330					<#if layoutSet.getSettingsProperty("twitter")?has_content> 
331						<li class="list-inline-item item twitter mr-2"><a href="${layoutSet.getSettingsProperty("twitter")}" title="${languageUtil.format(request,'go-to-x','Twitter')}" onclick="this.target='_blank'"><i class="fa-brands fa-x-twitter"><!-- icon --></i><span class="hide-accessible">${languageUtil.format(request,'go-to-x','Twitter')}</span></a></li> 
332					</#if> 
333					 
334					<#if layoutSet.getSettingsProperty("youtube")?has_content> 
335						<li class="list-inline-item item youtube mr-2"><a href="${layoutSet.getSettingsProperty("youtube")}" title="${languageUtil.format(request,'go-to-x','Youtube')}" onclick="this.target='_blank'"><i class="fab fa-youtube"><!-- icon --></i><span class="hide-accessible">${languageUtil.format(request,'go-to-x','Youtube')}</span></a></li> 
336					</#if> 
337 
338					<#if layoutSet.getSettingsProperty("tiktok")?has_content> 
339						<li class="list-inline-item item tiktok mr-22"><a href="${layoutSet.getSettingsProperty("tiktok")}" title="${languageUtil.format(request,'go-to-x','Tiktok')}" onclick="this.target='_blank'"><i class="fab fa-tiktok"><!-- icon --></i><span class="hide-accessible">${languageUtil.format(request,'go-to-x','Tiktok')}</span></a></li> 
340					</#if> 
341					 
342					<#if layoutSet.getSettingsProperty("pinterest")?has_content> 
343						<li class="list-inline-item item pinterest mr-2"><a href="${layoutSet.getSettingsProperty("pinterest")}" title="${languageUtil.format(request,'go-to-x','Pinterest')}" onclick="this.target='_blank'"><i class="fab fa-pinterest"><!-- icon --></i><span class="hide-accessible">${languageUtil.format(request,'go-to-x','Pinterest')}</span></a></li> 
344					</#if>					 
345				</ul> 
346			</div> 
347 
348			<div class="newsletter-container mb-6 mt-9"> 
349				<#assign imgBackground = "/o/turismo-asturias-theme/images/adt/newsletter-background-mask.jpg"/> 
350				<div class="template template-image-background template-image-background-right rounded" style="background-image: url('${imgBackground}'); background-position: right;"> 
351					<img alt="${title}" class="image" src="${imgBackground}" /> 
352					 
353					<div class="panel-text panel-text-secondary panel-text-round text-left mb-2 w-75 p-4"> 
354						<div class="panel-text-content"> 
355							<p class="text-white bold mb-3">${languageUtil.get(request,'infoasturias-contact-default-newsletter-blog')}</p> 
356							 
357							<#assign suscribeteLayout = layoutTool.getLayoutByFriendlyURL(groupId, false, "/suscribete")!> 
358							<#if validator.isNotNull(suscribeteLayout)> 
359								<#assign suscribeteLayoutURL = layoutTool.getLayoutFullURLByLayout(suscribeteLayout, locale)> 
360								<a class="btn btn-primary w-100" href="${suscribeteLayoutURL}" title="${languageUtil.get(request,'subscribe')}"> 
361									<i class="far fa-envelope-open"><!--icon--></i> 
362									${languageUtil.get(request,'subscribe')} 
363								</a> 
364							</#if> 
365						</div> 
366					</div> 
367				</div> 
368			</div> 
369 
370			<#-- Related --> 
371			<#assign relatedJournalArticles = assetTool.getRelatedJournalArticlesApproved(assetEntry)/> 
372			<#if validator.isNotNull(relatedJournalArticles) && relatedJournalArticles?size gt 0> 
373				<div class="article-related-container mb-6"> 
374					<div class="title h3">${languageUtil.get(request,'infoasturias-we-recommend')}</div> 
375					<div class="article-related article-related-list"> 
376						<#if relatedJournalArticles?size gt 4 > 
377							<#assign relatedJournalArticles = relatedJournalArticles[0..3]/> 
378						</#if> 
379						<#list relatedJournalArticles as article> 
380							<#assign asset = journalTool.getAssetEntryByArticleId(groupId, article.getArticleId())/>								 
381							<#assign thumbnail = assetTool.getAssetThumbnailPath(asset)/>									 
382							<#assign viewURL = assetPublisherTool.getAssetViewURL(renderRequest, renderResponse, asset) /> 
383							<a class="d-flex align-items-center mb-4" href="${viewURL}" title="${languageUtil.format(request, 'go-to-x', article.getTitle(locale))}"> 
384								<span class="image-wrapper aspect-ratio-bg-cover rounded-circle" style="background-image: url('${article.getSmallImageURL()}'); width: 136px; height:87px;"> 
385									<img class="hide-accessible" src="${article.getSmallImageURL()}" alt="${article.getTitle(locale)}"> 
386								</span> 
387								<span class="article-related-body ml-3 w-100"> 
388									<span class="title extra-bold">${article.getTitle(locale)}</span> 
389									<span class="subtitle text-uppercase semil-bold hide">${dateUtil.getDate(article.getDisplayDate(), "MMMM yyyy", locale, timeZone)}</span> 
390								</span> 
391							</a> 
392						</#list> 
393					</div> 
394				</div> 
395			</#if> 
396 
397			<div class="categories-container mb-6"> 
398				<div class="title h3">${languageUtil.get(request,'categories')}</div> 
399				<@liferay_portlet["runtime"] 
400					instanceId="assetCategoriesNavigationBlog" 
401					portletName="com_liferay_asset_categories_navigation_web_portlet_AssetCategoriesNavigationPortlet" 
402				/> 
403			</div> 
404 
405		</section> 
406	</div> 
407	</div> 
408	 
409	<#if SeccionCTA?? && SeccionCTA.ImagenCTA?? && SeccionCTA.Enlaces.EnlaceExterno?? && SeccionCTA.Enlaces.EnlaceInterno?? && SeccionCTA.ScriptCTA??> 
410		<#if SeccionCTA.ImagenCTA.data?has_content> 
411			<div class="script-cta-container container mt-6">	 
412				<#assign imagenCTA = dlTool.getThumbnail(SeccionCTA.ImagenCTA.data, "3")! /> 
413				<#assign enlace = "" /> 
414				<#assign target = "" /> 
415 
416				<#if SeccionCTA.Enlaces.EnlaceExterno.data?has_content> 
417					<#assign enlace =  SeccionCTA.Enlaces.EnlaceExterno.data !/> 
418					<#assign target = "_blank" />				 
419					<#if !stringUtil.matches(enlace, "//")> 
420						<#assign enlace = "//${enlace}" /> 
421					</#if> 
422				<#elseif SeccionCTA.Enlaces.EnlaceInterno.data?has_content> 
423					<#assign enlace = SeccionCTA.Enlaces.EnlaceInterno.getUrl() !/> 
424				</#if> 
425 
426				<a class="banner-cta" href="${enlace}" title="${languageUtil.format(request, 'go-to-x', enlace)}" target="${target}"> 
427					<span class="background card-background-9-14 image-wrapper aspect-ratio-bg-cover d-block" style="background-image: url('${imagenCTA}'); height:300px;"> 
428						<img class="hide-accessible" src="${imagenCTA}" alt="Imagen ${enlace}"> 
429					</span> 
430				</a> 
431				 
432				<#if SeccionCTA.ScriptCTA.data?has_content> 
433					${SeccionCTA.ScriptCTA.data} 
434				</#if> 
435			</div> 
436		</#if> 
437	</#if> 
438	 
439	<#-- Related  --> 
440	<#assign relatedJournalArticles = assetTool.getRelatedJournalArticlesApproved(assetEntry)/> 
441		<#if PaginasRelacionadas?? && PaginasRelacionadas.Pagina.getSiblings()?has_content || validator.isNotNull(relatedJournalArticles) && relatedJournalArticles?size gt 0> 
442			<div class="article-related portlet-background-grey-container"> 
443				<div class="container"> 
444					<div class="title-section font-size-15 h3">${languageUtil.get(request,'related-assets')}</div> 
445					<div class="row"> 
446						<#if validator.isNotNull(relatedJournalArticles) && relatedJournalArticles?size gt 0> 
447							<#if relatedJournalArticles?size gt 4> 
448								<#assign relatedJournalArticles = relatedJournalArticles[0..3]/> 
449							</#if> 
450							<#list relatedJournalArticles as article> 
451								<#assign asset = journalTool.getAssetEntryByArticleId(groupId, article.getArticleId())/>								 
452								<#assign thumbnail = assetTool.getAssetThumbnailPath(asset)/>									 
453								<#assign viewURL = assetPublisherTool.getAssetViewURL(renderRequest, renderResponse, asset) /> 
454								<#assign enlace = journalTool.getJournalArticleFieldValue(article, "Enlace" locale)!/> 
455								<#assign relatedTitle = article.getTitle(locale)/> 
456								<#if validator.isNotNull(enlace)> 
457									<#assign viewURL = enlace/> 
458									<#assign nombre = journalTool.getJournalArticleFieldValue(article, "Nombre" locale)!/> 
459									<#if validator.isNotNull(nombre)> 
460										<#assign relatedTitle = nombre/> 
461									</#if> 
462								</#if> 
463								<div class="col-sm-6 col-12">			 
464									<div class="card card-hover-wrapper"> 
465										<a href="${viewURL}" title="${languageUtil.format(request, 'go-to-x', article.getTitle(locale))}" style="background-image: url('${article.getSmallImageURL()}');" class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-16-to-9"> 
466											<img class="hide-accessible" alt="${article.getTitle(locale)}" src="${article.getSmallImageURL()}"> 
467											<p class="card-hover"> 
468												<span class="card-text text-uppercase font-size-11" style="font-weight:700;">${relatedTitle}</span> 
469											</p> 
470										</a> 
471									</div>										 
472								</div> 
473							</#list> 
474						</#if> 
475						<#if PaginasRelacionadas??> 
476							<#if PaginasRelacionadas.Pagina.getSiblings()?has_content> 
477								<#list PaginasRelacionadas.Pagina.getSiblings() as currentLayout> 
478									<#if validator.isNotNull(currentLayout.data)> 
479									<#assign link = currentLayout.getFriendlyUrl() /> 
480									<#assign layoutJson = currentLayout.data?eval/> 
481									<#assign selectedLayout = layoutTool.getLayoutByLayoutId(getterUtil.getLong(groupId), false, getterUtil.getLong(layoutJson.layoutId))/> 
482									<#assign layoutBackgroundImageUuid = selectedLayout.getTypeSettingsProperty("background") !/> 
483									<#if validator.isNull(layoutBackgroundImageUuid)> 
484										<#assign layoutBackgroundImageUuid = layoutTool.getLayoutSetSetting(themeDisplay.getLayoutSet(), "banner")! /> 
485									</#if> 
486									<#assign layoutBackgroundImage = dlTool.getPathByUuid(layoutBackgroundImageUuid, themeDisplay.getScopeGroupId())! /> 
487									<#assign layoutName = selectedLayout.getName(locale)/> 
488									<#if selectedLayout.getTypeSettingsProperty("title")?has_content > 
489										<#assign titleXML = selectedLayout.getTypeSettingsProperty("title")! /> 
490										<#if validator.isNotNull(currentLayout.NombrePagina.getData())> 
491											<#assign layoutName = currentLayout.NombrePagina.getData() /> 
492										<#elseif validator.isNotNull(titleXML)> 
493											<#assign titleMap = localizationUtil.getLocalizationMap(titleXML)/> 
494											<#list titleMap as key, value>  
495												<#if key == locale> 
496													<#assign layoutName = value /> 
497													<#break> 
498												</#if> 
499											</#list>  
500										</#if> 
501										 
502									</#if> 
503									<#assign layoutName = htmlUtil.extractText(layoutName)/> 
504									<div class="col-sm-6 col-12">			 
505										<div class="card card-hover-wrapper"> 
506											<a href="${link}" title="${languageUtil.format(request, 'go-to-x', layoutName)}" style="background-image: url('${layoutBackgroundImage}');" class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-16-to-9"> 
507												<img class="hide-accessible" alt="${layoutName}" src="${layoutBackgroundImage}"> 
508												<p class="card-hover"> 
509													<span class="card-text text-uppercase font-size-11" style="font-weight:700;">${layoutName}</span> 
510												</p> 
511											</a> 
512										</div>										 
513									</div> 
514									</#if> 
515									 
516								</#list> 
517							</#if> 
518						</#if> 
519					</div> 
520				</div> 
521			</div> 
522		</#if> 
523	 
524	<script type="text/javascript"> 
525		AUI().ready('aui-base', function(A){ 
526			var tabla = A.one("#TablaContenidos"); 
527			var tablaTitle = A.one(".tabla-title"); 
528			if(tabla && tablaTitle == null){ 
529				$('head').append('<link rel="stylesheet" href="/documents/39908/67587/blog.css" type="text/css" />'); 
530				creaToc(); 
531
532		}); //AUI.ready 
533 
534	</script> 
535</article>