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