Indietro Corse di cavalli sulla spiaggia di Ribadesella
Si è verificato un errore nell'elaborarazione del modello.
Java method "as.asac.template.tools.DLToolImpl.getThumbnailByJSON(String, String)" threw an exception when invoked on as.asac.template.tools.DLToolImpl object "as.asac.template.tools.DLToolImpl@3cddc892"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign slideThumbnail3 = dlTool.getT... [in template "37703#37743#1559255" at line 291, column 49] ----
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 journalArticleResourceServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")/>
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 date=.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
23<#assign ddmStructureNameNormalize = "template-${friendlyURLNormalizerTool.normalize(journalArticle.getDDMStructure().getName(localeUtil.getDefault()))}" />
24
25<#-- Build -->
26<#assign address = "">
27<#if Contacto.Localidad.data?has_content>
28 <#assign address = address +"${htmlUtil.extractText(Contacto.Localidad.data)}" />
29</#if>
30<#-- <#if Contacto.Zona.data?has_content>
31 <#assign address = address +"${htmlUtil.extractText(Contacto.Zona.data)}" />
32</#if> -->
33
34
35<article class="template ${ddmStructureNameNormalize}" role="article">
36
37 <header class="article-header-wrapper row no-gutters">
38
39 <div class="article-header-container article-header-container-static">
40 <div class="container">
41 <div class="row no-gutters">
42 <div class="col-md-6">
43 <div class="article-image" style="background-image: url('${articleMainImageThumbnail3}')">
44 <img class="sr-only" src="${articleMainImageThumbnail3}" alt="${languageUtil.format(request,'go-to-x','image')} ${title}"/>
45 </div>
46 </div>
47 <div class="article-info-wrapper col-md-6">
48 <div class="article-info">
49 <div class="article-title">${title}</div>
50 <div class="article-list-wrapper">
51
52 <ul class="article-list list-unstyled article-list-info">
53 <li class="article-list-item mb-4">
54 <span class="fas fa-map-marker-alt">
55 <span class="hide-accessible">${languageUtil.get(request,"title")}</span>
56 </span>
57 <span class="field-wrapper">
58 <#if Contacto.Municipio.data?has_content>
59 <span class="important">${Contacto.Municipio.data}</span>
60 <#else>
61 <span class="important">${title}</span>
62 </#if>
63 </span>
64 </li>
65
66 <#if address?has_content>
67 <li class="article-list-item">
68 <span class="far fa-address-card">
69 <span class="hide-accessible">${languageUtil.get(request,"address")}</span>
70 </span>
71 <span class="field-wrapper">
72 <span class="field">${languageUtil.get(request, "infoasturias-location")}:</span>
73 <span class="text">${address}</span>
74 </span>
75 </li>
76 </#if>
77
78 <#if Contacto.Dias.data?has_content>
79 <li class="article-list-item">
80 <span class="fas fa-calendar-alt">
81 <span class="hide-accessible">${languageUtil.get(request,"days")}</span>
82 </span>
83 <span class="field-wrapper">
84 <span class="field">${languageUtil.get(request, "days")}:</span>
85 <span class="text">${Contacto.Dias.data}</span>
86 </span>
87 </li>
88 </#if>
89
90 <#if Contacto.Email.getData()?has_content>
91 <li class="article-list-item">
92 <span class="far fa-envelope">
93 <span class="hide-accessible">${languageUtil.get(request,"email")}</span>
94 </span>
95 <span class="field-wrapper">
96 <span class="field">${languageUtil.get(request, "email")}:</span>
97 <span class="text">
98 <#list Contacto.Email.getSiblings() as Item>
99 <#if validator.isNotNull(Item.data)>
100 <a class="" href="mailto:${Item.data}" title="${languageUtil.format(request,'go-to-x', 'email')}">${Item.data}</a><#if Item_has_next>, </#if>
101 </#if>
102 </#list>
103 </span>
104 </span>
105 </li>
106 </#if>
107
108 <#if Contacto.Web.data?has_content>
109 <#assign linkURL = Contacto.Web.data/>
110
111 <#if !stringUtil.startsWith(linkURL, "http")>
112 <#assign linkURL = "https://${Contacto.Web.data}"/>
113 </#if>
114 <li class="article-list-item web">
115 <span class="fas fa-link">
116 <span class="hide-accessible">${languageUtil.get(request,"site")}</span>
117 </span>
118 <span class="field-wrapper">
119 <span class="field">${languageUtil.get(request, "site")}:</span>
120 <span class="text">
121 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x', 'site')}">${Contacto.Web.data}</a>
122 </span>
123 </span>
124 </li>
125 </#if>
126
127 <#if Contacto.Tipo.data?has_content>
128 <li class="article-list-item">
129 <span class="fas fa-calendar-tag">
130 <span class="hide-accessible">${languageUtil.get(request,"type")}</span>
131 </span>
132 <span class="field-wrapper">
133 <span class="field">${languageUtil.get(request, "type")}:</span>
134 <span class="text">${Contacto.Tipo.data}</span>
135 </span>
136 </li>
137 </#if>
138
139 </ul>
140 </div>
141
142 <#if validator.isNotNull(RedesSociales.Facebook.data) || validator.isNotNull(RedesSociales.Twitter.data) || validator.isNotNull(RedesSociales.Youtube.data) || validator.isNotNull(RedesSociales.GooglePlus.data) || validator.isNotNull(RedesSociales.Pinterest.data) || validator.isNotNull(RedesSociales.Instagram.data) || validator.isNotNull(RedesSociales.Rss.data) || validator.isNotNull(RedesSociales.OtrosCanales.NombreCanal.data)>
143 <div class="article-socials-wrapper mt-4">
144 <div class="socials-wrapper">
145 <div class="socials">
146 <ul class="list-inline items socials">
147 <#if RedesSociales.Facebook.data?has_content>
148 <#assign linkURL = RedesSociales.Facebook.data/>
149
150 <#if !stringUtil.startsWith(linkURL, "http")>
151 <#assign linkURL = "https://${RedesSociales.Facebook.data}"/>
152 </#if>
153 <li class="list-inline-item item facebook">
154 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Facebook')}" onclick="this.target='_blank'">
155 <span class="fab fa-facebook-f">
156 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Facebook')}</span>
157 </span>
158 </a>
159 </li>
160 </#if>
161 <#if RedesSociales.Twitter.data?has_content>
162 <#assign linkURL = RedesSociales.Twitter.data/>
163
164 <#if !stringUtil.startsWith(linkURL, "http")>
165 <#assign linkURL = "https://${RedesSociales.Twitter.data}"/>
166 </#if>
167 <li class="list-inline-item item twitter">
168 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Twitter')}" onclick="this.target='_blank'">
169 <span class="fab fa-twitter">
170 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Twitter')}</span>
171 </span>
172 </a>
173 </li>
174 </#if>
175 <#if RedesSociales.Youtube.data?has_content>
176 <#assign linkURL = RedesSociales.Youtube.data/>
177
178 <#if !stringUtil.startsWith(linkURL, "http")>
179 <#assign linkURL = "https://${RedesSociales.Youtube.data}"/>
180 </#if>
181 <li class="list-inline-item item youtube">
182 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Youtube')}" onclick="this.target='_blank'">
183 <span class="fab fa-youtube">
184 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Youtube')}</span>
185 </span>
186 </a>
187 </li>
188 </#if>
189 <#if RedesSociales.GooglePlus.data?has_content>
190 <#assign linkURL = RedesSociales.GooglePlus.data/>
191
192 <#if !stringUtil.startsWith(linkURL, "http")>
193 <#assign linkURL = "https://${RedesSociales.GooglePlus.data}"/>
194 </#if>
195 <li class="list-inline-item item gplus">
196 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Google Plus')}" onclick="this.target='_blank'">
197 <span class="fab fa-google-plus-g">
198 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Google Plus')}</span>
199 </span>
200 </a>
201 </li>
202 </#if>
203 <#if RedesSociales.Pinterest.data?has_content>
204 <#assign linkURL = RedesSociales.Pinterest.data/>
205
206 <#if !stringUtil.startsWith(linkURL, "http")>
207 <#assign linkURL = "https://${RedesSociales.Pinterest.data}"/>
208 </#if>
209 <li class="list-inline-item item pinterest">
210 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Pinterest')}" onclick="this.target='_blank'">
211 <span class="fab fa-pinterest-p">
212 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Pinterest')}</span>
213 </span>
214 </a>
215 </li>
216 </#if>
217 <#if RedesSociales.Instagram.data?has_content>
218 <#assign linkURL = RedesSociales.Instagram.data/>
219
220 <#if !stringUtil.startsWith(linkURL, "http")>
221 <#assign linkURL = "https://${RedesSociales.Instagram.data}"/>
222 </#if>
223 <li class="list-inline-item item instagram">
224 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Instagram')}" onclick="this.target='_blank'">
225 <span class="fab fa-instagram">
226 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Instagram')}</span>
227 </span>
228 </a>
229 </li>
230 </#if>
231 <#if RedesSociales.Rss.data?has_content>
232 <#assign linkURL = RedesSociales.Rss.data/>
233
234 <#if !stringUtil.startsWith(linkURL, "http")>
235 <#assign linkURL = "https://${RedesSociales.Rss.data}"/>
236 </#if>
237 <li class="list-inline-item item rss">
238 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Rss')}" onclick="this.target='_blank'">
239 <span class="fas fa-rss">
240 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Rss')}</span>
241 </span>
242 </a>
243 </li>
244 </#if>
245 <#list RedesSociales.OtrosCanales.NombreCanal.getSiblings() as Canal>
246 <#if Canal.CanalUrl.data?has_content>
247 <#assign linkURL = Canal.CanalUrl.data/>
248
249 <#if !stringUtil.startsWith(linkURL, "http")>
250 <#assign linkURL = "https://${Canal.CanalUrl.data}"/>
251 </#if>
252 <li class="list-inline-item item instagram">
253 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x',Canal.data)}" onclick="this.target='_blank'">
254 <span class="fas fa-share-alt">
255 <span class="hide-accessible">${languageUtil.format(request,'go-to-x',Canal.data)}</span>
256 </span>
257 </a>
258 </li>
259 </#if>
260 </#list>
261 </ul>
262 </div>
263 </div>
264 </div>
265 </#if>
266
267 </div>
268 </div>
269 </div>
270 </div>
271 </div>
272 </header>
273
274 <div class="sheet sheet-lg">
275
276 <#if Informacion.DescripcionCorta.data?has_content>
277 <div class="article-great">
278 ${Informacion.DescripcionCorta.data}
279 </div>
280 </#if>
281
282 <#assign hasTab1 = Informacion.Descripcion.data?has_content>
283 <#assign hasTab2 = Geolocalizacion.Coordenadas.data?has_content>
284 <#assign showFirstTab = true>
285
286 <div class="article-accordion accordion">
287
288 <#if Visualizador.Slide.getData()?has_content>
289 <div class="slick article-slick article-section <#if Visualizador.Slide.getSiblings()?size==1>hide</#if>">
290 <#list Visualizador.Slide.getSiblings() as Slide>
291 <#assign slideThumbnail3 = dlTool.getThumbnailByJSON(Slide.data, "3")! />
292 <#assign slideThumbnail2 = dlTool.getThumbnailByJSON(Slide.data, "2")! />
293 <#assign slidePath = dlTool.getPathByJSON(Slide.data, themeDisplay.getScopeGroupId())! />
294 <#assign slideUrl = Slide.SlideUrl.data />
295 <#assign dataMap = "" />
296
297 <#if slideUrl?has_content>
298
299 <#assign slideTitle = "${languageUtil.get(request, 'video')} ${Slide?index}" />
300 <#if Slide.SlideTitulo.data?has_content>
301 <#assign slideTitle = Slide.SlideTitulo.data />
302 </#if>
303
304 <#-- Youtube -->
305 <#assign slideUrl = stringUtil.replace(slideUrl, 'watch?v=', 'embed/') />
306 <#assign slideThumbnail2 = stringUtil.replace(slideUrl, 'www', 'img') />
307 <#assign slideThumbnail2 = stringUtil.replace(slideThumbnail2, 'embed', 'vi') />
308 <#assign slideThumbnail2 = '${slideThumbnail2}/mqdefault.jpg' />
309
310 <#-- Vimeo -->
311 <#if slideUrl?contains("vimeo")>
312 <#assign slideUrl = stringUtil.replace(slideUrl, 'http://vimeo.com/', 'https://player.vimeo.com/video/') />
313 <#assign slideVimeoId = stringUtil.extractLast(slideUrl, 'https://player.vimeo.com/video/') />
314 <#if slideVimeoId?has_content>
315 <#assign slideVimeoJsonPath = 'http://vimeo.com/api/v2/video/${slideVimeoId}.json' />
316 <#assign slideVimeoJsonContent = getUrlContent.getContent(slideVimeoJsonPath)! />
317 <#if slideVimeoJsonContent?has_content>
318 <#assign slideVimeoJsonArray = jsonFactoryUtil.createJSONArray(slideVimeoJsonContent) />
319 <#assign slideVimeoJsonItem = slideVimeoJsonArray.get(0) />
320 <#assign slideThumbnail2 = slideVimeoJsonItem.thumbnail_medium />
321 </#if>
322 </#if>
323 </#if>
324
325 <div id="slide-${Slide?index}" class="slide">
326 <a class="card card-simple card-video" href="#" onclick="javascript: event.preventDefault(); showDialogIframe('${slideUrl}', '${slideTitle}', 800, 600, 'videoPopup', 'videoPopupIframe');" title="${slideTitle}">
327 <span class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3" style="background-image: url('${slideThumbnail2}');">
328 <img class="hide-accessible" alt="${slideTitle}" src="${slideThumbnail2}">
329 </a>
330 </div>
331 <#else>
332
333 <#assign slideTitle = "${languageUtil.get(request, 'image')} ${Slide?index}" />
334 <#if Slide.SlideTitulo.data?has_content>
335 <#assign slideTitle = Slide.SlideTitulo.data />
336 </#if>
337
338 <div class="slide">
339 <a class="card card-simple lightbox" href="${slidePath}" title="${slideTitle}">
340 <span class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3" style="background-image: url('${slideThumbnail2}');">
341 <img class="hide-accessible" alt="${slideTitle}" src="${slideThumbnail2}">
342 </a>
343 </div>
344 </#if>
345 </#list>
346 </div>
347 </#if>
348
349 <#if hasTab1>
350 <div id="tab1" class="article-section accordion-item">
351 <a href="#tabContent1" id="tabHeading" class="h3 accordion-header <#if !showFirstTab>collapsed</#if>" aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent1" role="button">
352 ${languageUtil.get(request,'info')}
353 </a>
354 <div id="tabContent1" class="article-section-content article-section-info accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading">
355 <#if Informacion.Descripcion.data?has_content>
356 ${Informacion.Descripcion.data}
357 </#if>
358 </div>
359 </div>
360 <#assign showFirstTab = false>
361 </#if>
362
363 <#if hasTab2>
364 <#assign coordenadas=stringUtil.split(Geolocalizacion.Coordenadas.data) />
365 <div id="tab2" class="article-section accordion-item">
366 <a href="#tabContent2" id="tabHeading2" class="h3 accordion-header <#if !showFirstTab>collapsed</#if>" aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent2" role="button">
367 ${languageUtil.get(request,'map')}
368 </a>
369 <div id="tabContent2" class="article-section-content accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading2">
370 <div id="article-map-wrapper-${articleId}" class="article-map-wrapper">
371 <div id="article-map-content-${articleId}" style="width: 100%; height: 388px; z-index:1"><!-- MAP --></div>
372 <div class="article-map-form">
373 <div class="name important">${title}</div>
374 <div class="gps"><span class="label">GPS:</span> <span class="value important">${Geolocalizacion.Coordenadas.data}</span></div>
375 <form action="https://maps.google.es/maps" method="get" target="_blank">
376 <input type="hidden" name="daddr" value="${coordenadas[0]},${coordenadas[1]}">
377 <label for="saddr"><span class="label">${languageUtil.get(request,'infoasturias-from')}: </span></label>
378 <input class="form-control" type="text" maxlength="40" name="saddrText" id="saddrText" value="" placeholder="${languageUtil.get(request,'infoasturias-insert-from')}">
379 <input class="form-control" type="hidden" name="saddr" id="saddr" value="" placeholder="${languageUtil.get(request,'infoasturias-insert-from')}">
380 <button class="btn btn-text" type="submit">${languageUtil.get(request,'infoasturias-como-llegar')} »</button>
381 </form>
382 </div>
383 </div>
384 <script src="/o/turismo-asturias-theme/js/leaflet/leaflet.js"></script>
385 <script type="text/javascript">
386 AUI().ready('aui-base', function(A){
387 var lat = ${coordenadas[0]},
388 lng = ${coordenadas[1]},
389 zoom = 16;
390 mapContent = new L.map('article-map-content-${articleId}', {center: [lat, lng], zoom: 16});
391
392 //Marker
393 var defaultIconTheme = '/o/turismo-asturias-theme/css/images/icons/mark-box.png';
394 var defaultIcon = L.icon({
395 iconUrl: defaultIconTheme,
396 iconSize: [36, 53],
397 iconAnchor: [18, 53],
398 iconShadow: [0,0],
399 popupAnchor: [0, -30]
400 });
401 var marker = L.marker([lat, lng], {icon: defaultIcon}).addTo(mapContent);
402
403 var contentString = '<div class="row">';
404 contentString += '<div class="col-12">';
405 contentString += '<div class="h4">${htmlUtil.escape(title)}</div>';
406 contentString += '</div>';
407 contentString += '</div>';
408
409 contentString += '<div class="row">';
410 contentString += '<div class="col-12">';
411 <#if validator.isNotNull(articleMainImageThumbnail1)>
412 contentString += '<img class="pull-right mb-2 ml-2" src="${articleMainImageThumbnail1}" alt="$title"/>';
413 </#if>
414 contentString += '<dl class="mb-0">';
415 <#if address?has_content>
416 contentString += '<dt>${languageUtil.get(request,'address')}</dt>';
417 contentString += '<dd>${htmlUtil.escape(address)}</dd>';
418 </#if>
419 <#if Contacto.Email.getData()?has_content>
420 contentString += '<dt>${languageUtil.get(request,'email')}</dt>';
421 <#list Contacto.Email.getSiblings() as Item>
422 contentString += '<dd><a href="mailto:${Item.data}" title="${languageUtil.format(request,'go-to-x', 'email')}">${Item.data}</a></dd>';
423 </#list>
424 </#if>
425 <#if Contacto.Web.data?has_content>
426 <#assign linkURL = Contacto.Web.data/>
427
428 <#if !stringUtil.startsWith(linkURL, "http")>
429 <#assign linkURL = "https://${Contacto.Web.data}"/>
430 </#if>
431 contentString += '<dt>${languageUtil.get(request,'site')}</dt>';
432 contentString += '<dd><a href="${linkURL}" title="${languageUtil.format(request,'go-to-x', 'site')}">${Contacto.Web.data}</a></dd';
433 </#if>
434 contentString += '</dl>';
435 contentString += '</div>';
436 contentString += '</div>';
437 <#if validator.isNotNull(description)>
438 contentString += '<div class="row"><div class="col-12">${htmlUtil.escape(description)}</div></div>';
439 </#if>
440 marker.bindPopup(contentString);
441
442 //Contributor
443 L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
444 attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.'
445 }).addTo(mapContent);
446
447 }); //AUI.ready
448 </script>
449 </div>
450 </div>
451 <#assign showFirstTab = false>
452 </#if>
453 </div>
454
455 </div>
456
457 <#-- Related -->
458 <#assign relatedJournalArticles = assetTool.getRelatedJournalArticlesApproved(assetEntry)/>
459 <#if validator.isNotNull(relatedJournalArticles) && relatedJournalArticles?size gt 0>
460 <div class="article-related portlet-background-grey-container">
461 <div class="container">
462 <h3 class="title-section">${languageUtil.get(request,'related-assets')}</h3>
463 <div class="slick article-related-slick">
464 <#list relatedJournalArticles as currentJournalArticle>
465 <#assign viewURL = journalTool.getDisplayPage(currentJournalArticle, themeDisplay, true)/>
466 <div class="slide">
467 <a class="card card-box" href="${viewURL}" title="${languageUtil.format(request, 'go-to-x', currentJournalArticle.getTitle(locale))}">
468 <span class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3" style="background-image: url('${currentJournalArticle.getSmallImageURL()}');">
469 <img class="hide-accessible" src="${currentJournalArticle.getSmallImageURL()}" alt="${currentJournalArticle.getTitle(locale)}"/>
470
471 </span>
472 <span class="card-body">
473 <span class="card-title" >${currentJournalArticle.getTitle(locale)}</span>
474 </span>
475 </a>
476
477 </div>
478 </#list>
479 </div>
480 </div>
481 </div>
482 </#if>
483
484 <#-- Nearby -->
485 <#assign classTypeIds = []>
486 <#assign assetsNearJournalArticles = assetNearTool.getNearJournalArticles(themeDisplay.getScopeGroupId(), assetEntry.getEntryId(), 50.0, classTypeIds, 10)! />
487 <#if validator.isNotNull(assetsNearJournalArticles) && assetsNearJournalArticles?size gt 0>
488 <div class="article-nearby portlet-container-margin">
489 <div class="container">
490 <div class="article-nearby-container">
491 <h3 class="title-section">${languageUtil.get(request,'infoasturias-near-here')}</h3>
492 <div class="slick article-nearby-slick">
493 <#list assetsNearJournalArticles as currentJournalArticle>
494 <#assign viewURL = journalTool.getDisplayPage(currentJournalArticle, themeDisplay, true)/>
495 <div class="slide">
496 <a class="card" href="${viewURL}" title="${languageUtil.format(request, 'go-to-x', currentJournalArticle.getTitle(locale))}">
497 <span class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3" style="background-image: url('${currentJournalArticle.getSmallImageURL()}');">
498 <img class="hide-accessible" src="${currentJournalArticle.getSmallImageURL()}" alt="${currentJournalArticle.getTitle(locale)}">
499 <span class="card-hover">
500 <span class="card-text">${currentJournalArticle.getDescription(locale)}</span>
501 </span>
502 </span>
503 <span class="card-body">
504 <span class="card-title">${currentJournalArticle.getTitle(locale)}</span>
505 <span class="card-subtitle">
506 <span class="d-block">${currentJournalArticle.getVersion()} Kms</span>
507 <span class="d-block">${journalTool.getCategoriesNames(groupId, currentJournalArticle.getArticleId(), locale, ["Concejos"])}</span>
508 </span>
509 </span>
510 </a>
511 </div>
512 </#list>
513 </div>
514 </div>
515 </div>
516 </div>
517 </#if>
518
519</article>