Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> Contacto.CP [in template "38902#38942#1558935" at line 61, column 146] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- 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 validator.isNotNull(Contacto.Dire... [in template "38902#38942#1558935" at line 61, column 73] ----
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<#if Nombre.data?has_content>
27 <#assign title = Nombre.data>
28</#if>
29
30<article class="template ${ddmStructureNameNormalize}" role="article" itemscope itemtype="http://schema.org/TouristicAttraction">
31
32 <header class="article-header-wrapper row no-gutters">
33
34 <div class="article-header-container article-header-container-static">
35 <div class="container">
36 <div class="row no-gutters">
37 <div class="col-md-6">
38 <div class="article-image" style="background-image: url('${articleMainImageThumbnail3}')">
39 <img class="sr-only" src="${articleMainImageThumbnail3}" alt="${languageUtil.format(request,'go-to-x','image')} ${title}" itemprop="image"/>
40 </div>
41 </div>
42 <div class="article-info-wrapper col-md-6">
43 <div class="article-info">
44 <h2 class="article-title" itemprop="name">${title}</h2>
45 <div class="article-list-wrapper">
46
47 <ul class="article-list list-unstyled article-list-info">
48 <li class="article-list-item mb-4">
49 <span class="fas fa-map-marker-alt">
50 <span class="hide-accessible">${languageUtil.get(request,"title")}</span>
51 </span>
52 <span class="field-wrapper">
53 <#if Contacto.Concejo.data?has_content>
54 <span class="important">${Contacto.Concejo.data}</span>
55 </#if>
56 <#if Contacto.Zona.data?has_content>
57 <span class="text d-block">${Contacto.Zona.data}</span>
58 </#if>
59 </span>
60 </li>
61 <#if validator.isNotNull(Contacto.Direccion.data) || validator.isNotNull(Contacto.CP.data) || validator.isNotNull(Contacto.Localidad.data)>
62 <li class="article-list-item">
63 <span class="far fa-address-card">
64 <span class="hide-accessible">${languageUtil.get(request,"address")}</span>
65 </span>
66 <span class="field-wrapper">
67 <span class="field">${languageUtil.get(request, "address")}:</span>
68 <span class="text">${Contacto.Direccion.data}</span>
69 <span class="text"> ■
70 <#if Contacto.CP?? >
71 <#if validator.isNotNull(Contacto.CP.data)>
72 ${Contacto.CP.data}
73 </#if>
74 </#if>
75 <#if Contacto.Localidad??>
76 <#if validator.isNotNull(Contacto.Localidad.data)>
77 - ${Contacto.Localidad.data}
78 </#if>
79 </#if>
80
81 </span>
82 </span>
83 </li>
84 </#if>
85 <#if Contacto.DireccionSedeAlternativa.getData()?has_content>
86 <#list Contacto.DireccionSedeAlternativa.getSiblings() as dirAlt>
87 <li class="article-list-item <#if dirAlt?is_last>mb-4</#if>">
88 <span class="far fa-map-marker-alt">
89 <span class="hide-accessible">${languageUtil.get(request,"address")}</span>
90 </span>
91 <span class="field-wrapper">
92 <span class="field">${languageUtil.get(request, "address")}:</span>
93 <span class="text">${dirAlt.getData()}</span>
94 </span>
95 </li>
96 </#list>
97 </#if>
98
99 <#if validator.isNotNull(Contacto.Telefono.getData())>
100 <li class="list-item">
101 <span class="field-wrapper">
102 <span class="field">
103 <span class="fas fa-phone-alt">
104 <span class="hide-accessible">${languageUtil.get(request,"phone")}</span>
105 </span>
106 </span>
107 <#list Contacto.Telefono.getSiblings() as telephone>
108 <#assign numberTelefono = telephone.data?replace(" ", "")/>
109 <#assign numberLength = numberTelefono?length/>
110 <#if numberLength == 9>
111 <#assign number = "+34${numberTelefono}"/>
112 <#else>
113 <#assign number = numberTelefono/>
114 </#if>
115 <span class="text">
116 <a href="tel:${number}" itemprop="telephone">${telephone.data}</a>
117 <#if !telephone?is_last> | </#if>
118 </span>
119 </#list>
120 </span>
121 </li>
122 </#if>
123
124 <#if Contacto.Email.getData()?has_content>
125 <li class="article-list-item">
126 <span class="far fa-envelope">
127 <span class="hide-accessible">${languageUtil.get(request,"email")}</span>
128 </span>
129 <span class="field-wrapper">
130 <span class="field">${languageUtil.get(request, "email")}:</span>
131 <#list Contacto.Email.getSiblings() as email>
132 <span class="text">
133 <a class="" href="mailto:${email.data}" title="${languageUtil.format(request,'send-email-to-x', 'email')}" itemprop="email">${email.data}</a>
134 <#if !email?is_last>|</#if>
135 </span>
136 </#list>
137 </span>
138 </li>
139 </#if>
140
141 <#if Contacto.Web.data?has_content>
142 <li class="article-list-item web">
143 <span class="fas fa-link">
144 <span class="hide-accessible">${languageUtil.get(request,"site")}</span>
145 </span>
146 <span class="field-wrapper">
147 <span class="field">${languageUtil.get(request, "site")}:</span>
148 <#list Contacto.Web.getSiblings() as web>
149 <span class="text">
150 <#assign linkURL = web.data/>
151 <#if !stringUtil.startsWith(linkURL, "http")>
152 <#assign linkURL = "https://${web.data}"/>
153 </#if>
154 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x', 'site')}" itemprop="url">${web.data}</a>
155 <#if !web?is_last>|</#if>
156 </span>
157 </#list>
158 </span>
159 </li>
160 </#if>
161 <#if Informacion.Accesibilidad.data?has_content>
162 <#assign dlFileEntry = dlTool.getDLFileEntryByPath(Informacion.Accesibilidad.data) />
163 <#if validator.isNotNull(dlFileEntry)>
164 <#assign downloadURL = "/documents/${groupId}/${dlFileEntry.getUuid()}" />
165 <#assign ext = dlFileEntry.getExtension()/>
166 <li class="article-list-item document document-${ext}">
167 <span class="far fa-file">
168 <span class="hide-accessible">${languageUtil.get(request,"infoasturias-accesibilidad")}</span>
169 </span>
170 <span class="field-wrapper">
171 <span class="field">${languageUtil.get(request, "infoasturias-accesibilidad")}:</span>
172 <span class="text">
173 <a href="${downloadURL}" title='${languageUtil.get(request, "infoasturias-accesibilidad")} ${htmlUtil.escape(title)}' class="">${languageUtil.get(request, "infoasturias-accesibilidad")}</a>
174 </span>
175 </span>
176 </li>
177 </#if>
178 </#if>
179
180 <#if Documentos.Archivo.data?has_content>
181 <#assign dlFileEntry = dlTool.getDLFileEntryByPath(Documentos.Archivo.data) />
182 <#if validator.isNotNull(dlFileEntry)>
183 <#assign ext = dlFileEntry.getExtension()!/>
184 <li class="article-list-item document document-${ext}">
185 <span class="fas fa-file">
186 <span class="hide-accessible">${languageUtil.get(request,"related-documents")}</span>
187 </span>
188 <span class="field-wrapper">
189 <span class="field">${languageUtil.get(request, "related-documents")}:</span>
190 <span class="text">
191 <#list Documentos.Archivo.getSiblings() as Item>
192 <#assign dlFileEntry = dlTool.getDLFileEntryByPath(Item.data) />
193 <#assign downloadURL = "/documents/${groupId}/${dlFileEntry.getUuid()}" />
194 <#if validator.isNotNull(dlFileEntry)>
195 <#if Item.ArchivoTitulo.data?has_content>
196 <a href="${downloadURL}" title='${languageUtil.get(request, "${Item.ArchivoTitulo.data}")} ${htmlUtil.escape(title)}' class="">${Item.ArchivoTitulo.data}</a>
197 <#if Item_has_next>, </#if>
198 <#else>
199 <a href="${downloadURL}" title='${languageUtil.get(request, "${dlFileEntry.getTitle()}")} ${htmlUtil.escape(title)}' class="">${dlFileEntry.getTitle()}</a>
200 <#if Item_has_next>, </#if>
201 </#if>
202 </#if>
203 </#list>
204 </span>
205 </span>
206 </li>
207 </#if>
208 </#if>
209 </ul>
210 </div>
211
212 <#if validator.isNotNull(RedesSociales.Facebook.data) || validator.isNotNull(RedesSociales.Twitter.data) || validator.isNotNull(RedesSociales.Youtube.data) || validator.isNotNull(RedesSociales.Pinterest.data) || validator.isNotNull(RedesSociales.Instagram.data) || validator.isNotNull(RedesSociales.Rss.data) || validator.isNotNull(RedesSociales.OtrosCanales.NombreCanal.data)>
213 <div class="article-socials-wrapper mt-4">
214 <div class="socials-wrapper">
215 <div class="socials">
216 <ul class="list-inline items socials">
217 <#if RedesSociales.Facebook.data?has_content>
218 <li class="list-inline-item item facebook">
219 <a href="${RedesSociales.Facebook.data}" title="${languageUtil.format(request,'go-to-x','Facebook')}" onclick="this.target='_blank'">
220 <span class="fab fa-facebook-f">
221 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Facebook')}</span>
222 </span>
223 </a>
224 </li>
225 </#if>
226 <#if RedesSociales.Twitter.data?has_content>
227 <li class="list-inline-item item twitter">
228 <a href="${RedesSociales.Twitter.data}" title="${languageUtil.format(request,'go-to-x','Twitter')}" onclick="this.target='_blank'">
229 <span class="fa-brands fa-x twitter">
230 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Twitter')}</span>
231 </span>
232 </a>
233 </li>
234 </#if>
235 <#if RedesSociales.Youtube.data?has_content>
236 <li class="list-inline-item item youtube">
237 <a href="${RedesSociales.Youtube.data}" title="${languageUtil.format(request,'go-to-x','Youtube')}" onclick="this.target='_blank'">
238 <span class="fab fa-youtube">
239 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Youtube')}</span>
240 </span>
241 </a>
242 </li>
243 </#if>
244 <#if RedesSociales.Pinterest.data?has_content>
245 <li class="list-inline-item item pinterest">
246 <a href="${RedesSociales.Pinterest.data}" title="${languageUtil.format(request,'go-to-x','Pinterest')}" onclick="this.target='_blank'">
247 <span class="fab fa-pinterest-p">
248 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Pinterest')}</span>
249 </span>
250 </a>
251 </li>
252 </#if>
253 <#if RedesSociales.Instagram.data?has_content>
254 <li class="list-inline-item item instagram">
255 <a href="${RedesSociales.Instagram.data}" title="${languageUtil.format(request,'go-to-x','Instagram')}" onclick="this.target='_blank'">
256 <span class="fab fa-instagram">
257 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Instagram')}</span>
258 </span>
259 </a>
260 </li>
261 </#if>
262 <#if RedesSociales.Rss.data?has_content>
263 <li class="list-inline-item item rss">
264 <a href="${RedesSociales.Rss.data}" title="${languageUtil.format(request,'go-to-x','Rss')}" onclick="this.target='_blank'">
265 <span class="fas fa-rss">
266 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Rss')}</span>
267 </span>
268 </a>
269 </li>
270 </#if>
271 <#list RedesSociales.OtrosCanales.NombreCanal.getSiblings() as Canal>
272 <#if Canal.CanalUrl.data?has_content>
273 <li class="list-inline-item item instagram">
274 <a href="${Canal.CanalUrl.data}" title="${languageUtil.format(request,'go-to-x',Canal.data)}" onclick="this.target='_blank'">
275 <span class="fas fa-share-alt">
276 <span class="hide-accessible">${languageUtil.format(request,'go-to-x',Canal.data)}</span>
277 </span>
278 </a>
279 </li>
280 </#if>
281 </#list>
282 </ul>
283 </div>
284 </div>
285 </div>
286 </#if>
287
288 </div>
289 </div>
290 </div>
291 </div>
292 </div>
293 </header>
294
295 <div class="sheet sheet-lg">
296 <#if Informacion.Titulo.data?has_content>
297 <div class="article-great">
298 ${Informacion.Titulo.data}
299 </div>
300 </#if>
301
302 <#assign hasTab1 = Informacion.Texto.data?has_content>
303 <#assign hasTab2 = Geolocalizacion.Coordenadas.data?has_content>
304 <#assign hasTab3 = Contacto.Temporadas?? && Contacto.Temporadas.data?has_content>
305 <#assign hasTab4 = Contacto.FechasDeCierre?? && Contacto.FechasDeCierre.data?has_content>
306 <#assign hasTab5 = Informacion.Actividad.ActividadNombre.data?has_content || Informacion.Actividad.Tarifa.data?has_content>
307 <#assign hasTab6 = AsturiasMascotas?? && AsturiasMascotas.SuplementoMascota?? && AsturiasMascotas.SuplementoMascota.data?has_content>
308 <#assign showFirstTab = true>
309
310 <div class="article-accordion accordion">
311 <#if Visualizador.Slide.getData()?has_content>
312 <div class="slick article-slick article-section <#if Visualizador.Slide.getSiblings()?size==1>hide</#if>">
313 <#list Visualizador.Slide.getSiblings() as Slide>
314 <#if validator.isNotNull(Slide.getData()) || validator.isNotNull(Slide.SlideUrl.getData())>
315 <#assign slideThumbnail3 = dlTool.getThumbnailByJSON(Slide.data, "3")! />
316 <#assign slideThumbnail2 = dlTool.getThumbnailByJSON(Slide.data, "2")! />
317 <#assign slidePath = dlTool.getPathByJSON(Slide.data, themeDisplay.getScopeGroupId())! />
318 <#assign slideUrl = Slide.SlideUrl.data />
319 <#assign dataMap = "" />
320
321 <#if slideUrl?has_content>
322
323 <#assign slideTitle = "${languageUtil.get(request, 'video')} ${Slide?index}" />
324 <#if Slide.SlideTitulo.data?has_content>
325 <#assign slideTitle = Slide.SlideTitulo.data />
326 </#if>
327
328 <#-- Youtube -->
329 <#assign slideUrl = stringUtil.replace(slideUrl, 'watch?v=', 'embed/') />
330 <#assign slideThumbnail2 = stringUtil.replace(slideUrl, 'www', 'img') />
331 <#assign slideThumbnail2 = stringUtil.replace(slideThumbnail2, 'embed', 'vi') />
332 <#assign slideThumbnail2 = '${slideThumbnail2}/mqdefault.jpg' />
333
334 <#-- Vimeo -->
335 <#if slideUrl?contains("vimeo")>
336 <#assign slideUrl = stringUtil.replace(slideUrl, 'https://vimeo.com/', 'https://player.vimeo.com/video/') />
337 <#assign slideVimeoId = stringUtil.extractLast(slideUrl, 'https://player.vimeo.com/video/') />
338 <#if slideVimeoId?has_content>
339 <#assign slideVimeoJsonPath = 'https://vimeo.com/api/v2/video/${slideVimeoId}.json' />
340 <#assign slideVimeoJsonContent = getUrlContent.getContent(slideVimeoJsonPath)! />
341 <#if slideVimeoJsonContent?has_content>
342 <#assign slideVimeoJsonArray = jsonFactoryUtil.createJSONArray(slideVimeoJsonContent) />
343 <#assign slideVimeoJsonItem = slideVimeoJsonArray.get(0) />
344 <#assign slideThumbnail2 = slideVimeoJsonItem.thumbnail_medium />
345 </#if>
346 </#if>
347 </#if>
348
349 <div id="slide-${Slide?index}" class="slide">
350 <a class="card card-simple card-video" href="#" onclick="javascript: event.preventDefault(); showDialogIframe('${slideUrl}', '${slideTitle}', 800, 600, 'videoPopup', 'videoPopupIframe');" title="${slideTitle}">
351 <span class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3" style="background-image: url('${slideThumbnail2}');">
352 <img class="hide-accessible" alt="${slideTitle}" src="${slideThumbnail2}">
353 </a>
354 </div>
355 <#else>
356
357 <#assign slideTitle = "${languageUtil.get(request, 'image')} ${Slide?index}" />
358 <#if Slide.SlideTitulo.data?has_content>
359 <#assign slideTitle = Slide.SlideTitulo.data />
360 </#if>
361
362 <div class="slide">
363 <a class="card card-simple lightbox" href="${slidePath}" title="${slideTitle}">
364 <span class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3" style="background-image: url('${slideThumbnail2}');">
365 <img class="hide-accessible" alt="${slideTitle}" src="${slideThumbnail2}">
366 </a>
367 </div>
368 </#if>
369 </#if>
370 </#list>
371 </div>
372 </#if>
373
374 <#if hasTab1>
375 <div id="tab1" class="article-section accordion-item">
376 <a href="#tabContent1" id="tabHeading" class="tab <#if !showFirstTab>collapsed</#if>" aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent1" role="button">
377 <h3 class="h3 accordion-header">${languageUtil.get(request,'info')}</h3>
378 </a>
379 <div id="tabContent1" class="article-section-content article-section-info accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading">
380 <#if Informacion.Texto.data?has_content>
381 ${Informacion.Texto.data}
382 </#if>
383 </div>
384 </div>
385 <#assign showFirstTab = false>
386 </#if>
387
388 <#if hasTab2>
389 <#assign coordenadas=stringUtil.split(Geolocalizacion.Coordenadas.data) />
390 <div id="tab2" class="article-section article-section-map accordion-item">
391 <a href="#tabContent2" id="tabHeading2" class="tab <#if !showFirstTab>collapsed</#if>" aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent2" role="button">
392 <h3 class="h3 accordion-header">${languageUtil.get(request,'map')}</h3>
393 </a>
394 <div id="tabContent2" class="article-section-content article-section-map accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading2">
395 <div id="article-map-wrapper-${articleId}" class="article-map-wrapper">
396 <div id="article-map-content-${articleId}" style="width: 100%; height: 388px; z-index:1"><!-- MAP --></div>
397 <div class="article-map-form">
398 <div class="name important">${title}</div>
399 <div class="gps"><span class="label">GPS:</span> <span class="value important" itemprop="geo">${Geolocalizacion.Coordenadas.data}</span></div>
400 <form action="https://maps.google.es/maps" method="get" target="_blank">
401 <input type="hidden" name="daddr" value="${coordenadas[0]},${coordenadas[1]}">
402 <label for="saddrText"><span class="label hide-accessible">${languageUtil.get(request,'infoasturias-insert-from')}: </span></label>
403 <label for="saddr"><span class="label">${languageUtil.get(request,'infoasturias-from')}: </span></label>
404 <input class="form-control" type="text" maxlength="40" name="saddrText" id="saddrText" value="" placeholder="${languageUtil.get(request,'infoasturias-insert-from')}">
405 <input class="form-control" type="hidden" name="saddr" id="saddr" value="" placeholder="${languageUtil.get(request,'infoasturias-insert-from')}">
406 <button class="btn btn-text" type="submit">${languageUtil.get(request,'infoasturias-como-llegar')} »</button>
407 </form>
408 </div>
409 </div>
410 <script src="/o/turismo-asturias-theme/js/leaflet/leaflet.js"></script>
411 <script type="text/javascript">
412 AUI().ready('aui-base', function(A){
413 var lat = ${coordenadas[0]},
414 lng = ${coordenadas[1]},
415 zoom = 16;
416 mapContent = new L.map('article-map-content-${articleId}', {center: [lat, lng], zoom: 16});
417
418 //Marker
419 var defaultIconTheme = '/o/turismo-asturias-theme/css/images/icons/mark-box.png';
420 var defaultIcon = L.icon({
421 iconUrl: defaultIconTheme,
422 iconSize: [36, 53],
423 iconAnchor: [18, 53],
424 iconShadow: [0,0],
425 popupAnchor: [0, -30]
426 });
427 var marker = L.marker([lat, lng], {icon: defaultIcon}).addTo(mapContent);
428
429 var contentString = '<div class="row">';
430 contentString += '<div class="col-12">';
431 contentString += '<div class="h4">${htmlUtil.escape(title)}</div>';
432 contentString += '</div>';
433 contentString += '</div>';
434
435 contentString += '<div class="row">';
436 contentString += '<div class="col-12">';
437 <#if validator.isNotNull(articleMainImageThumbnail1)>
438 contentString += '<img class="pull-right mb-2 ml-2" src="${articleMainImageThumbnail1}" alt="$title"/>';
439 </#if>
440 contentString += '<dl class="mb-0">';
441 <#if address?has_content>
442 contentString += '<dt>${languageUtil.get(request,'address')}</dt>';
443 contentString += '<dd>${htmlUtil.escape(address)}</dd>';
444 </#if>
445 <#if Contacto.Telefono.data?has_content>
446 contentString += '<dt>${languageUtil.get(request,'phone')}</dt>';
447 contentString += '<dd>${Contacto.Telefono.data}</dd>';
448 </#if>
449 <#if Contacto.Email.getData()?has_content>
450 contentString += '<dt>${languageUtil.get(request,'email')}</dt>';
451 <#list Contacto.Email.getSiblings() as Item>
452 contentString += '<dd><a href="mailto:${Item.data}" title="${languageUtil.format(request,'go-to-x', 'email')}">${Item.data}</a></dd>';
453 </#list>
454 </#if>
455 <#if Contacto.Web.data?has_content>
456 contentString += '<dt>${languageUtil.get(request,'site')}</dt>';
457 contentString += '<dd><a href="${Contacto.Web.data}" title="${languageUtil.format(request,'go-to-x', 'site')}">${Contacto.Web.data}</a></dd';
458 </#if>
459 contentString += '</dl>';
460 contentString += '</div>';
461 contentString += '</div>';
462 <#if validator.isNotNull(description)>
463 contentString += '<div class="row"><div class="col-12">${description}</div></div>';
464 </#if>
465 marker.bindPopup(contentString);
466
467 //Contributor
468 L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
469 attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.'
470 }).addTo(mapContent);
471
472 }); //AUI.ready
473 </script>
474 </div>
475 </div>
476 <#assign showFirstTab = false>
477 </#if>
478
479 <#if hasTab3>
480 <div id="tab3" class="article-section accordion-item">
481 <a href="#tabContent3" id="tabHeading3" class="tab <#if !showFirstTab>collapsed</#if>" aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent3" role="button"><h3 class="h3 accordion-header">${languageUtil.get(request,'infoasturias-temporadas')}</h3></a>
482 <div id="tabContent3" class="article-section-content article-section-color article-section-background accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading3">
483 <#if Contacto.Temporadas.data?has_content>
484 ${Contacto.Temporadas.data}
485 </#if>
486 </div>
487 </div>
488 <#assign showFirstTab = false>
489 </#if>
490
491 <#if hasTab4>
492 <div id="tab4" class="article-section accordion-item">
493 <a href="#tabContent4" id="tabHeading4" class="tab <#if !showFirstTab>collapsed</#if>" aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent4" role="button"><h3 class="h3 accordion-header">${languageUtil.get(request,'infoasturias-fechas-de-cierre')}</h3></a>
494 <div id="tabContent4" class="article-section-content article-section-color article-section-background accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading4">
495 <#if Contacto.FechasDeCierre.data?has_content>
496 ${Contacto.FechasDeCierre.data}
497 </#if>
498 </div>
499 </div>
500 <#assign showFirstTab = false>
501 </#if>
502
503 <#if hasTab5>
504 <div id="tab5" class="article-section accordion-item">
505 <a href="#tabContent5" id="tabHeading5" class="tab <#if !showFirstTab>collapsed</#if>" aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent5" role="button"><h3 class="h3 accordion-header">${languageUtil.get(request,'infoasturias-actividades-y-tarifas')}</h3></a>
506 <div id="tabContent5" class="article-section-content article-section-color article-section-background accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading5">
507 <#list Informacion.Actividad.getSiblings() as actividades>
508 <div class="actividad-info">
509 <#if actividades.ActividadNombre.getData()?has_content>
510 <span class="important">${actividades.ActividadNombre.data}:</span>
511 </#if>
512 <#if actividades.Tarifa.getData()?has_content>
513 ${actividades.Tarifa.data}
514 </#if>
515 </div>
516 </#list>
517 </div>
518 </div>
519 <#assign showFirstTab = false>
520 </#if>
521
522 <#if hasTab6>
523 <div id="tab6" class="article-section accordion-item">
524 <a href="#tabContent6" id="tabHeading6" class="tab <#if !showFirstTab>collapsed</#if>" aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent6" role="button"><h3 class="h3 accordion-header">${languageUtil.get(request,'infoasturias-info-mascotas')}</h3></a>
525 <div id="tabContent6" class="article-section-content article-section-color article-section-background accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading6">
526 <#if AsturiasMascotas.SuplementoMascota?? && AsturiasMascotas.SuplementoMascota.data?has_content || AsturiasMascotas.LimitacionPeso?? && AsturiasMascotas.LimitacionPeso.data?has_content || AsturiasMascotas.AdmitePPP?? && AsturiasMascotas.AdmitePPP.data?has_content || AsturiasMascotas.NumeroMaximo?? && AsturiasMascotas.NumeroMaximo.data?has_content ||
527 AsturiasMascotas.MaterialNecesario?? && AsturiasMascotas.MaterialNecesario.data?has_content || AsturiasMascotas.SuministroMaterial?? && AsturiasMascotas.SuministroMaterial.data?has_content ||
528 AsturiasMascotas.OtrasMascotas?? && AsturiasMascotas.OtrasMascotas.data?has_content || AsturiasMascotas.OtrosAnimales?? && AsturiasMascotas.OtrosAnimales.data?has_content ||
529 AsturiasMascotas.Actividades.Senderismo?? && AsturiasMascotas.Actividades.Senderismo.data?has_content || AsturiasMascotas.Actividades.Canoa?? && AsturiasMascotas.Actividades.Canoa.data?has_content|| AsturiasMascotas.Actividades.BiciMTB?? && AsturiasMascotas.Actividades.BiciMTB.data?has_content || AsturiasMascotas.Actividades.BiciRuta?? && AsturiasMascotas.Actividades.BiciRuta.data?has_content || AsturiasMascotas.Actividades.Paddle?? && AsturiasMascotas.Actividades.Paddle.data?has_content || AsturiasMascotas.Actividades.Raquetas?? && AsturiasMascotas.Actividades.Raquetas.data?has_content || AsturiasMascotas.Actividades.PaseosBarco?? && AsturiasMascotas.Actividades.PaseosBarco.data?has_content || AsturiasMascotas.DetalleNormas?? && AsturiasMascotas.DetalleNormas.data?has_content>
530
531 <div class="list-iconos mb-5">
532 <#if AsturiasMascotas.SuplementoMascota.data?has_content>
533 <div class="col-xl-2 col-sm-6 col-xs-12 text-center list-inline-item icono">
534 <#if AsturiasMascotas.SuplementoMascota.getData() == "Si">
535 <#assign SuplementoImage = assetCategoryTool.getImagesByVocabularyCategoryName(groupId, "Mascotas", "Suplemento por mascota")/>
536 <div ><img src="${SuplementoImage[0]}" alt="${languageUtil.get(request,'infoasturias-mascotas-con-suplemento')}"/></div>
537 <span class="text-value">${languageUtil.get(request,'infoasturias-mascotas-con-suplemento')}</span>
538 <#elseif AsturiasMascotas.SuplementoMascota.getData() == "No">
539 <#assign SinSuplementoImage = assetCategoryTool.getImagesByVocabularyCategoryName(groupId, "Mascotas", "Sin suplemento por mascota")/>
540 <div ><img src="${SinSuplementoImage[0]}" alt="${languageUtil.get(request,'infoasturias-mascotas-no-suplemento')}"/></div>
541 <span class="text-value">${languageUtil.get(request,'infoasturias-mascotas-no-suplemento')}</span>
542 </#if>
543 </div>
544 </#if>
545 <#if AsturiasMascotas.LimitacionPeso.data?has_content>
546 <div class="col-xl-2 col-sm-6 col-xs-12 text-center list-inline-item icono">
547 <#assign LimitacionPesoImage = assetCategoryTool.getImagesByVocabularyCategoryName(groupId, "Mascotas", "Limitación de tamaño")/>
548 <div><img src="${LimitacionPesoImage[0]}" alt="${languageUtil.get(request,'infoasturias-mascotas-peso')}"/><span class="value">${AsturiasMascotas.LimitacionPeso.data}</span></div>
549 <span class="text-value">${languageUtil.get(request,'infoasturias-mascotas-peso')}</span>
550 </div>
551 </#if>
552 <#if AsturiasMascotas.NumeroMaximo.data?has_content>
553 <div class="col-xl-2 col-sm-6 col-xs-12 text-center list-inline-item icono">
554 <#assign NumeroMaximoImage = assetCategoryTool.getImagesByVocabularyCategoryName(groupId, "Mascotas", "Número máximo de perros por persona")/>
555 <div><img src="${NumeroMaximoImage[0]}" alt="${languageUtil.get(request,'infoasturias-mascotas-maximo-persona')}"/><span class="value-icono">${AsturiasMascotas.NumeroMaximo.data}</span></div>
556 <span class="text-value">${languageUtil.get(request,'infoasturias-mascotas-maximo-persona')}</span>
557 </div>
558 </#if>
559 <#if AsturiasMascotas.MaterialNecesario.data?has_content>
560 <div class="col-xl-2 col-sm-6 col-xs-12 text-center list-inline-item icono">
561 <#if AsturiasMascotas.MaterialNecesario.getData() == "Si">
562 <#assign MaterialNecesarioImage = assetCategoryTool.getImagesByVocabularyCategoryName(groupId, "Mascotas", "Hace falta material para la actividad")/>
563 <div ><img src="${MaterialNecesarioImage[0]}" alt="${languageUtil.get(request,'infoasturias-mascotas-material')}"/></div>
564 <span class="text-value">${languageUtil.get(request,'infoasturias-mascotas-material')}</span>
565 <#else>
566 <#assign NoMaterialNecesarioImage = assetCategoryTool.getImagesByVocabularyCategoryName(groupId, "Mascotas", "No hace falta material para la actividad")/>
567 <div ><img src="${NoMaterialNecesarioImage[0]}" alt="${languageUtil.get(request,'infoasturias-mascotas-no-material')}"/></div>
568 <span class="text-value">${languageUtil.get(request,'infoasturias-mascotas-no-material')}</span>
569 </#if>
570 </div>
571 </#if>
572 <#if AsturiasMascotas.SuministroMaterial.data?has_content>
573 <div class="col-xl-2 col-sm-6 col-xs-12 text-center list-inline-item icono">
574 <#if AsturiasMascotas.MaterialNecesario.getData() == "Si">
575 <#if AsturiasMascotas.SuministroMaterial.getData() == "Si">
576 <#assign SuministroMaterialImage = assetCategoryTool.getImagesByVocabularyCategoryName(groupId, "Mascotas", "Suministran material")/>
577 <div ><img src="${SuministroMaterialImage[0]}" alt="${languageUtil.get(request,'infoasturias-mascotas-suministran-material')}"/></div>
578 <span class="text-value">${languageUtil.get(request,'infoasturias-mascotas-suministran-material')}</span>
579 <#else>
580 <#assign NoSuministroMaterialImage = assetCategoryTool.getImagesByVocabularyCategoryName(groupId, "Mascotas", "No suministran material")/>
581 <div ><img src="${NoSuministroMaterialImage[0]}" alt="${languageUtil.get(request,'infoasturias-mascotas-no-suministran-material')}"/></div>
582 <span class="text-value">${languageUtil.get(request,'infoasturias-mascotas-no-suministran-material')}</span>
583 </#if>
584 </#if>
585 </div>
586 </#if>
587 </div>
588 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.Senderismo.getData()) || getterUtil.getBoolean(AsturiasMascotas.Actividades.Canoa.getData()) || getterUtil.getBoolean(AsturiasMascotas.Actividades.BiciMTB.getData()) || getterUtil.getBoolean(AsturiasMascotas.Actividades.BiciRuta.getData()) || getterUtil.getBoolean(AsturiasMascotas.Actividades.Paddle.getData()) || getterUtil.getBoolean(AsturiasMascotas.Actividades.Raquetas.getData()) || getterUtil.getBoolean(AsturiasMascotas.Actividades.PaseosBarco.getData()) || getterUtil.getBoolean(AsturiasMascotas.Actividades.Orientacion.getData()) || getterUtil.getBoolean(AsturiasMascotas.Actividades.Espeleologia.getData()) || getterUtil.getBoolean(AsturiasMascotas.Actividades.Kayak.getData()) || getterUtil.getBoolean(AsturiasMascotas.Actividades.Caballo.getData()) || getterUtil.getBoolean(AsturiasMascotas.Actividades.Montanismo.getData()) || getterUtil.getBoolean(AsturiasMascotas.Actividades.Navegacion.getData()) || getterUtil.getBoolean(AsturiasMascotas.Actividades.FloraFauna.getData()) || getterUtil.getBoolean(AsturiasMascotas.Actividades.Surf.getData()) || getterUtil.getBoolean(AsturiasMascotas.Actividades.Todoterrenos.getData())>
589 <div class="article-info-table">
590 <div class="mb-4 title-actividad">${languageUtil.get(request,'infoasturias-actividades-mascotas')}</div>
591 <ul class="article-list article-list-characteristics article-info-border">
592 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.Senderismo.getData())>
593 <li class="list-inline-item fas check">
594 <#assign SenderismoLabel = journalTool.getLabelStructureFieldByJournalArticle(journalArticle, "Senderismo", locale)/>
595 <span class="value">${SenderismoLabel}</span>
596 </li>
597 </#if>
598 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.Canoa.getData())>
599 <li class="list-inline-item fas check">
600 <#assign CanoaLabel = journalTool.getLabelStructureFieldByJournalArticle(journalArticle, "Canoa", locale)/>
601 <span class="value">${CanoaLabel}</span>
602 </li>
603 </#if>
604 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.BiciMTB.getData())>
605 <li class="list-inline-item fas check">
606 <#assign BiciMTBLabel = journalTool.getLabelStructureFieldByJournalArticle(journalArticle, "BiciMTB", locale)/>
607 <span class="value">${BiciMTBLabel}</span>
608 </li>
609 </#if>
610 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.BiciRuta.getData())>
611
612 <li class="list-inline-item fas check">
613 <#assign BiciRutaLabel = journalTool.getLabelStructureFieldByJournalArticle(journalArticle, "BiciRuta", locale)/>
614 <span class="value">${BiciRutaLabel}</span>
615 </li>
616 </#if>
617 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.Paddle.getData())>
618 <li class="list-inline-item fas check">
619 <#assign PaddleLabel = journalTool.getLabelStructureFieldByJournalArticle(journalArticle, "Paddle", locale)/>
620 <span class="value">${PaddleLabel}</span>
621 </li>
622 </#if>
623 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.Raquetas.getData())>
624 <li class="list-inline-item fas check">
625 <#assign RaquetasLabel = journalTool.getLabelStructureFieldByJournalArticle(journalArticle, "Raquetas", locale)/>
626 <span class="value">${RaquetasLabel}</span>
627 </li>
628 </#if>
629 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.PaseosBarco.getData())>
630 <li class="list-inline-item fas check">
631 <#assign PaseosBarcoLabel = journalTool.getLabelStructureFieldByJournalArticle(journalArticle, "PaseosBarco", locale)/>
632 <span class="value">${PaseosBarcoLabel}</span>
633 </li>
634 </#if>
635 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.Orientacion.getData())>
636 <li class="list-inline-item fas check">
637 <#assign OrientacionLabel = journalTool.getLabelStructureFieldByJournalArticle(journalArticle, "Orientacion", locale)/>
638 <span class="value">${OrientacionLabel}</span>
639 </li>
640 </#if>
641 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.Espeleologia.getData())>
642 <li class="list-inline-item fas check">
643 <#assign EspeleologiaLabel = journalTool.getLabelStructureFieldByJournalArticle(journalArticle, "Espeleologia", locale)/>
644 <span class="value">${EspeleologiaLabel}</span>
645 </li>
646 </#if>
647 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.Kayak.getData())>
648 <li class="list-inline-item fas check">
649 <#assign KayakLabel = journalTool.getLabelStructureFieldByJournalArticle(journalArticle, "Kayak", locale)/>
650 <span class="value">${KayakLabel}</span>
651 </li>
652 </#if>
653 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.Caballo.getData())>
654 <li class="list-inline-item fas check">
655 <#assign CaballoLabel = journalTool.getLabelStructureFieldByJournalArticle(journalArticle, "Caballo", locale)/>
656 <span class="value">${CaballoLabel}</span>
657 </li>
658 </#if>
659 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.Montanismo.getData())>
660 <li class="list-inline-item fas check">
661 <#assign MontanismoLabel = journalTool.getLabelStructureFieldByJournalArticle(journalArticle, "Montanismo", locale)/>
662 <span class="value">${MontanismoLabel}</span>
663 </li>
664 </#if>
665 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.Navegacion.getData())>
666 <li class="list-inline-item fas check">
667 <#assign NavegacionLabel = journalTool.getLabelStructureFieldByJournalArticle(journalArticle, "Navegacion", locale)/>
668 <span class="value">${NavegacionLabel}</span>
669 </li>
670 </#if>
671 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.Surf.getData())>
672 <li class="list-inline-item fas check">
673 <#assign SurfLabel = journalTool.getLabelStructureFieldByJournalArticle(journalArticle, "Surf", locale)/>
674 <span class="value">${SurfLabel}</span>
675 </li>
676 </#if>
677 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.Todoterrenos.getData())>
678 <li class="list-inline-item fas check">
679 <#assign TodoterrenosLabel = journalTool.getLabelStructureFieldByJournalArticle(journalArticle, "Todoterrenos", locale)/>
680 <span class="value">${TodoterrenosLabel}</span>
681 </li>
682 </#if>
683 <#if getterUtil.getBoolean(AsturiasMascotas.Actividades.FloraFauna.getData())>
684 <li class="list-inline-item fas check">
685 <#assign FloraFaunaLabel = journalTool.getLabelStructureFieldByJournalArticle(journalArticle, "FloraFauna", locale)/>
686 <span class="value">${FloraFaunaLabel}</span>
687 </li>
688 </#if>
689 </ul>
690 </div>
691 </#if>
692 <#if validator.isNotNull(AsturiasMascotas.AdmitePPP.data) || validator.isNotNull(AsturiasMascotas.OtrasMascotas.data) || validator.isNotNull(AsturiasMascotas.OtrosAnimales.data) || validator.isNotNull(AsturiasMascotas.DetalleNormas.data)>
693 <div class="mb-4 mt-4 title-normas">${languageUtil.get(request,'infoasturias-normas-mascotas')}</div>
694 <ul class="list-unstyled">
695 <#if AsturiasMascotas.AdmitePPP.data?has_content>
696 <li class="fas d-block track">
697 <#if AsturiasMascotas.AdmitePPP.getData() == "Si">
698 <span class="text-rule">${languageUtil.get(request,'infoasturias-mascotas-ppp')}.</span>
699 <#else>
700 <span class="text-rule">${languageUtil.get(request,'infoasturias-mascotas-no-ppp')}.</span>
701 </#if>
702 </li>
703 </#if>
704 <#if AsturiasMascotas.OtrasMascotas?? && AsturiasMascotas.OtrasMascotas.data?has_content || AsturiasMascotas.OtrosAnimales?? && AsturiasMascotas.OtrosAnimales.data?has_content>
705 <li class="fas d-block track">
706 <#if AsturiasMascotas.OtrasMascotas.getData() == "Si">
707 <span class="text-rule">${languageUtil.get(request,'infoasturias-otras-mascotas')}:</span>
708 <span class="value">${AsturiasMascotas.OtrosAnimales.data}</span>
709 <#else>
710 <span class="text-rule">${languageUtil.get(request,'infoasturias-no-otras-mascotas')}</span>
711 </#if>
712 </li>
713 </#if>
714
715 <#if AsturiasMascotas.PrecioSuplemento?? && AsturiasMascotas.PrecioSuplemento.data?has_content>
716 <li class="fas d-block track mt-2">
717 <span class="text-rule">${languageUtil.get(request,'infoasturias-mascotas-suplemento')}: ${AsturiasMascotas.PrecioSuplemento.data}€</span>
718 </li>
719 </#if>
720 </ul>
721 <#if AsturiasMascotas.DetalleNormas.data?has_content>
722 <div class="rules">
723 <#assign iconSPAN = AsturiasMascotas.DetalleNormas.data?replace('<p>','<p><span class="fas"></span>')/>
724 ${iconSPAN}
725 </div>
726 </#if>
727 </#if>
728 </#if>
729 </div>
730 </div>
731 <#assign showFirstTab = false>
732 </#if>
733 </div>
734
735 <#if validator.isNotNull(Observaciones.Observacion.data) || validator.isNotNull(Observaciones.MasInformacion.data) || validator.isNotNull(OtrosDatos.DatosFacilitadosPor.data) || validator.isNotNull(CodigoDGT.data) >
736 <div class="article-border">
737 <#if Observaciones.Observacion?has_content>
738 ${Observaciones.Observacion.data}
739 </#if>
740 <#if Observaciones.MasInformacion?has_content>
741 <#list Observaciones.MasInformacion.getSiblings() as Item>
742 <#if stringUtil.matches(Item.data, "//") || stringUtil.matches(Item.data, "www") >
743 <div><a class="" href="${Item.data}" title="${languageUtil.format(request,'go-to-x', 'link')}">${Item.data}</a></div>
744 <#else>
745 <div><span class="">${Item.data}</span></div>
746 </#if>
747 </#list>
748 </#if>
749 <#if OtrosDatos.DatosFacilitadosPor?has_content>
750 <div><span class="important mr-1">${languageUtil.get(request,'infoasturias-datos-facilitados-por')}:</span><span class="text-wrapper">${OtrosDatos.DatosFacilitadosPor.data}.</span></div>
751 </#if>
752
753 <#if CodigoDGT.data?has_content>
754 <div><span class="text-wrapper mr-1">${languageUtil.get(request,'infoasturias-establecimiento-inscrito-en-registro')}</span><span class="important">${CodigoDGT.data}.</span></div>
755 </#if>
756
757 <div class="text-wrapper">${languageUtil.get(request,'infoasturias-precios-orientativos')}.</div>
758 </div>
759 </#if>
760
761 <div class="row mt-5">
762 <div class="col-xs-12 mb-3">
763 <div class="text-center">
764 <#if Contacto.Email.data?has_content>
765 <a href="mailto:${Contacto.Email.data}?Subject=${title}:%20${languageUtil.get(request,'infoasturias-more-info')}" class="btn btn-default text-center text-uppercase">
766 <span class="far fa-envelope mr-2">
767 <span class="hide-accessible">${languageUtil.get(request,"email")}</span>
768 </span>
769 ${languageUtil.get(request,'infoasturias-more-info')}
770 </a>
771 </#if>
772 </div>
773 </div>
774 </div>
775 </div>
776
777 <#-- Related -->
778 <#assign relatedJournalArticles = assetTool.getRelatedJournalArticlesApproved(assetEntry)/>
779 <#if validator.isNotNull(relatedJournalArticles) && relatedJournalArticles?size gt 0>
780 <div class="article-related portlet-background-grey-container">
781 <div class="container">
782 <h3 class="title-section">${languageUtil.get(request,'related-assets')}</h3>
783 <div class="slick article-related-slick">
784 <#list relatedJournalArticles as currentJournalArticle>
785 <#assign viewURL = journalTool.getDisplayPage(currentJournalArticle, themeDisplay, true)/>
786 <div class="slide">
787 <a class="card background card-background-9-14" href="${viewURL}" title="${languageUtil.format(request, 'go-to-x', currentJournalArticle.getTitle(locale))}">
788 <span class="d-block image-wrapper aspect-ratio-bg-cover" style="background-image: url('${currentJournalArticle.getSmallImageURL()}');">
789 <img class="hide-accessible" src="${currentJournalArticle.getSmallImageURL()}" alt="${currentJournalArticle.getTitle(locale)}">
790 <span class="card-body">
791 <span class="card-title">${currentJournalArticle.getTitle(locale)}</span>
792 </span>
793 </span>
794 </a>
795 </div>
796 </#list>
797 </div>
798 </div>
799 </div>
800 </#if>
801
802 <#-- Nearby -->
803 <#assign classTypeIds = []>
804 <#if themeDisplay.getScopeGroupId()==assetEntry.getGroupId()>
805 <#assign assetsNearJournalArticles = assetNearTool.getNearJournalArticles(themeDisplay.getScopeGroupId(), assetEntry.getEntryId(), 50.0, classTypeIds, 10)! />
806 <#if validator.isNotNull(assetsNearJournalArticles) && assetsNearJournalArticles?size gt 0>
807 <div class="article-nearby portlet-container-margin">
808 <div class="container">
809 <div class="article-nearby-container">
810 <h3 class="title-section">${languageUtil.get(request,'infoasturias-near-here')}</h3>
811 <div class="slick article-nearby-slick">
812 <#list assetsNearJournalArticles as currentJournalArticle>
813 <#assign viewURL = journalTool.getDisplayPage(currentJournalArticle, themeDisplay, true)/>
814 <div class="slide">
815 <a class="card" href="${viewURL}" title="${languageUtil.format(request, 'go-to-x', currentJournalArticle.getTitle(locale))}">
816 <span class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3" style="background-image: url('${currentJournalArticle.getSmallImageURL()}');">
817 <img class="hide-accessible" src="${currentJournalArticle.getSmallImageURL()}" alt="${currentJournalArticle.getTitle(locale)}">
818 <span class="card-hover">
819 <span class="card-text">${currentJournalArticle.getDescription(locale)}</span>
820 </span>
821 </span>
822 <span class="card-body">
823 <span class="card-title">${currentJournalArticle.getTitle(locale)}</span>
824 <span class="card-subtitle">
825 <span class="d-block">${currentJournalArticle.getVersion()} Kms</span>
826 <span class="d-block">${journalTool.getCategoriesNames(groupId, currentJournalArticle.getArticleId(), locale, ["Concejos"])}</span>
827 </span>
828 </span>
829 </a>
830 </div>
831 </#list>
832 </div>
833 </div>
834 </div>
835 </div>
836 </#if>
837 </#if>
838</article>