Retour Les meilleurs itinéraires avec cascades à parcourir dans les Asturies
Une erreur s'est produite lors du traitement du gabarit.
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@6f526bf0"; 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')} »</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: '© <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>