Une erreur s'est produite lors du traitement du gabarit.
Java method "as.asac.template.tools.DLToolImpl.getThumbnailByJSON(String, String)" threw an exception when invoked on as.asac.template.tools.DLToolImpl object "as.asac.template.tools.DLToolImpl@1856b2c7"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign slideThumbnail3 = dlTool.getT... [in template "37703#37743#1558395" at line 639, column 49] ----
1<#-- Services -->
2<#assign assetEntryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")/>
3<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService")/>
4<#assign journalArticleResourceServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")/>
5<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
6
7<#-- Reserved vbles -->
8<#assign title = .vars['reserved-article-title'].data>
9<#assign articleId=.vars["reserved-article-id"].data />
10<#assign description=.vars["reserved-article-description"].data />
11<#assign smallImageUrl=.vars["reserved-article-small-image-url"].data />
12<#assign date=.vars["reserved-article-display-date"].data />
13<#assign request = .vars['request']>
14
15<#-- Init -->
16<#assign assetEntry = journalTool.getAssetEntryByArticleId(groupId, articleId)>
17<#assign journalArticle = journalTool.getJournalArticleByAssetEntry(assetEntry)>
18<#assign articleURL = themeDisplay.getURLPortal()+themeDisplay.getURLCurrent()>
19<#assign articleSocialBookmarks = themeDisplay.getThemeSetting("article-social-bookmarks")!>
20<#assign layoutSetBannerPath = layoutTool.getLayoutSetBannerPath(groupId, themeDisplay.getLayout().isPrivateLayout())!>
21<#assign articleMainImageThumbnail3 = dlTool.getThumbnail(smallImageUrl, "3", layoutSetBannerPath)! />
22<#assign articleMainImageThumbnail1 = dlTool.getThumbnail(smallImageUrl, "1")! />
23<#assign ddmStructureNameNormalize = "template-${friendlyURLNormalizerTool.normalize(journalArticle.getDDMStructure().getName(localeUtil.getDefault()))}" />
24
25<#-- Params -->
26<#assign cmd = paramUtil.getString(request, "p_r_p_cmd") />
27
28<#-- Build -->
29<#if Nombre.data?has_content>
30 <#assign title = Nombre.data>
31</#if>
32
33<#assign cssCategoryClass = "">
34<#assign categoryAlojamiento = "">
35<#assign showNRooms = false>
36<#assign showApartments = false>
37<#assign showCampings = false>
38<#assign showCosts = false>
39<#assign categoriesDondeDormir = journalTool.getCategories(themeDisplay.getScopeGroupId(), articleId, ["Dónde dormir"])>
40<#assign caminoCategories = journalTool.getCategories(groupId, journalArticle.getArticleId(), ["Camino"])/>
41
42<#list categoriesDondeDormir as categoryDondeDormir>
43
44 <#-- Tipo de tipoAlojamiento -->
45 <#assign categoryAlojamiento = categoryDondeDormir.getTitle(locale)>
46
47 <#if categoryDondeDormir.name == "Hotel" || categoryDondeDormir.name == "Pensión" || categoryDondeDormir.name == "Hotel-apartamento" || categoryDondeDormir.name == "Hotel Rural" || categoryDondeDormir.name == "Hostal">
48 <#assign cssCategoryClass = "star">
49 <#if categoryDondeDormir.name == "Hotel-apartamento">
50 <#assign showApartments = true>
51 <#else>
52 <#assign showNRooms = true>
53 </#if>
54 <#elseif categoryDondeDormir.name == "Apartamento Turístico" || categoryDondeDormir.name == "Apartamento Rural">
55 <#assign cssCategoryClass = "key">
56 <#assign showApartments = true>
57 <#elseif categoryDondeDormir.name == "Casa rural íntegra" || categoryDondeDormir.name == "Casa rural alquiler por habitaciones">
58 <#assign cssCategoryClass = "triskel">
59 <#assign showNRooms = true>
60 <#elseif categoryDondeDormir.name == "Camping">
61 <#assign cssCategoryClass = "camping">
62 <#assign showCampings = true>
63 <#elseif categoryDondeDormir.name == "Albergue turístico" || categoryDondeDormir.name == "Albergue de peregrinos" || categoryDondeDormir.name == "Albergue juvenil">
64 <#assign cssCategoryClass = "hostel">
65 <#assign showNRooms = true>
66 <#elseif categoryDondeDormir.name == "Vivienda Vacacional">
67 <#assign showNRooms = true>
68 <#elseif categoryDondeDormir.name == "Casa de Aldea íntegra" || categoryDondeDormir.name == "Casa rural alquiler por habitaciones" || categoryDondeDormir.name == "Apartamento rural">
69 <#assign showCosts = true>
70 </#if>
71
72
73</#list>
74<#assign showReservaButton = true/>
75<#assign hasCategoryImage = false />
76<article class="template ${ddmStructureNameNormalize}" role="article" itemscope itemtype="http://schema.org/LodgingBusiness">
77
78 <header class="article-header-wrapper row no-gutters">
79
80 <div class="article-header-container article-header-container-static">
81 <div class="container">
82 <div class="row no-gutters">
83 <div class="col-md-6">
84 <div class="article-image" style="background-image: url('${articleMainImageThumbnail3}')">
85 <img class="sr-only" src="${articleMainImageThumbnail3}" alt="${languageUtil.format(request,'go-to-x','image')} ${title}" itemprop="image"/>
86 </div>
87 </div>
88 <div class="article-info-wrapper col-md-6">
89 <div class="article-info">
90 <div class="article-title" itemprop="name">${title}</div>
91 <div class="article-list-wrapper">
92
93 <div class="article-info-table">
94 <div class="article-info-table-row">
95 <div class="article-info-table-cell">
96 <ul class="article-list list-unstyled article-list-info">
97 <#if InformacionEspecifica.IconoCategoria.data?has_content>
98 <#assign icono = "${cssCategoryClass}-${InformacionEspecifica.IconoCategoria.data} text-indent-image" />
99 <li class="article-list-item mb-4">
100
101 <span class="fas fa-tag hide">
102 <span class="hide-accessible">${languageUtil.get(request,"category")}</span>
103 </span>
104 <span class="field-wrapper">
105 <#if categoryAlojamiento?has_content>
106 <span class="field category-alojamiento important">${categoryAlojamiento}</span>
107 </#if>
108 <span class="text ${icono}"><span>${InformacionEspecifica.IconoCategoria.getData()}</span></span>
109 <#if Cadena ?? && validator.isNotNull(Cadena.data)>
110 <span class="text d-block">${Cadena.data}</span>
111 </#if>
112 </span>
113 </li>
114 </#if>
115 <#if InformacionEspecifica.Plazas.data?has_content>
116 <li class="article-list-item">
117 <span class="fas fa-users">
118 <span class="hide-accessible">${languageUtil.get(request,"infoasturias-plazas")}</span>
119 </span>
120 <span class="field-wrapper">
121 <span class="field">${languageUtil.get(request, "infoasturias-plazas")}:</span>
122 <span class="text">
123 ${InformacionEspecifica.Plazas.data}
124 <#if InformacionEspecifica.PlazasSupletorias.data?has_content>
125 ${languageUtil.format(request,'infoasturias-plazas-supletorias', InformacionEspecifica.PlazasSupletorias.data)}
126 </#if>
127 </span>
128 </span>
129 </li>
130 </#if>
131
132 <#if InformacionEspecifica.NHabitaciones.data?has_content>
133 <li class="article-list-item">
134 <span class="fas fa-bed">
135 <span class="hide-accessible">${languageUtil.get(request,"infoasturias-habitaciones")}</span>
136 </span>
137 <span class="field-wrapper">
138 <span class="field">${languageUtil.get(request, "infoasturias-habitaciones")}:</span>
139 <span class="text">
140 ${InformacionEspecifica.NHabitaciones.data}
141 </span>
142 </span>
143 </li>
144 </#if>
145
146 <#if showNRooms>
147 <#if InformacionEspecifica.NApartamentos.data?has_content>
148 <li class="article-list-item">
149 <span class="fas fa-bed">
150 <span class="hide-accessible">${languageUtil.get(request,"infoasturias-habitaciones")}</span>
151 </span>
152 <span class="field-wrapper">
153 <span class="field">${languageUtil.get(request, "infoasturias-habitaciones")}:</span>
154 <span class="text">${InformacionEspecifica.NApartamentos.data}</span>
155 </span>
156 </li>
157 </#if>
158
159 <#if InformacionEspecifica.CapacidadApartamentos.data?has_content>
160 <li class="article-list-item">
161 <span class="fas fa-building">
162 <span class="hide-accessible">${languageUtil.get(request,"infoasturias-apartamentos")}</span>
163 </span>
164 <span class="field-wrapper">
165 <span class="field">${languageUtil.get(request, "infoasturias-apartamentos")}:</span>
166 <span class="text">
167 <#list InformacionEspecifica.CapacidadApartamentos.getSiblings() as capacidadApartamento>
168 ${capacidadApartamento.data} <#if !capacidadApartamento?is_last>, </#if>
169 </#list>
170 </span>
171 </span>
172 </li>
173 </#if>
174 </#if>
175
176 <#if showApartments>
177 <#if InformacionEspecifica.NApartamentos.data?has_content>
178 <li class="article-list-item">
179 <span class="fas fa-bed">
180 <span class="hide-accessible">${languageUtil.get(request,"infoasturias-apartamentos")}</span>
181 </span>
182 <span class="field-wrapper">
183 <span class="field">${languageUtil.get(request, "infoasturias-apartamentos")}:</span>
184 <span class="text">${InformacionEspecifica.NApartamentos.data}</span>
185 </span>
186 </li>
187 </#if>
188
189 <#if InformacionEspecifica.CapacidadApartamentos.data?has_content>
190 <li class="article-list-item">
191 <span class="fas fa-building">
192 <span class="hide-accessible">${languageUtil.get(request,"infoasturias-apartamentos")}</span>
193 </span>
194 <span class="field-wrapper">
195 <span class="field">${languageUtil.get(request, "infoasturias-apartamentos-capacidad")}:</span>
196 <span class="text">
197 <#list InformacionEspecifica.CapacidadApartamentos.getSiblings() as capacidadApartamento>
198 ${capacidadApartamento.data} <#if !capacidadApartamento?is_last>- </#if>
199 </#list>
200 </span>
201 </span>
202 </li>
203 </#if>
204 </#if>
205
206 <#if showCampings>
207 <li class="article-list-item">
208 <span class="fas fa-warehouse">
209 <span class="hide-accessible">${languageUtil.get(request,"infoasturias-parcelas")}</span>
210 </span>
211 <span class="field-wrapper">
212 <span class="field">${languageUtil.get(request, "infoasturias-parcelas")}:</span>
213 <span class="text">${InformacionEspecifica.NParcelas.data}</span>
214 </span>
215 </li>
216 </#if>
217 </ul>
218 </div>
219
220 <#if Contacto.Email.data?has_content || CodigoDGT.data?has_content>
221 <#if Peregrinos ??>
222 <#if getterUtil.getBoolean(Peregrinos.AdmiteReservas.getData())>
223 <#assign showReservaButton = false/>
224 </#if>
225
226 </#if>
227 <#if showReservaButton>
228 <div class="article-info-table-cell align-middle">
229
230 <#if Contacto.Email.data?has_content>
231 <#assign params = {"displayStyle":"ddmTemplate_441008","portletId": portletTool.getPortletId(request), "articleId":"${articleId}"}>
232 <#assign portletURL = portletTool.createURL(request, "as_asac_adtvisor_portlet_AdtVisorDialogPortlet", themeDisplay.getPlid(), themeDisplay.getLifecycle(), "pop_up", params) />
233 <button id="<@portlet.namespace/>availabilityRequestForm" type="button" class="btn btn-primary btn-small text-center text-uppercase" onclick="event.preventDefault(); showDialogIframe('${portletURL}','${languageUtil.get(request,'infoasturias-solicitud-reserva')}', '', '','formularioReserva', 'formularioReservaIframe');">
234 <img src="/o/turismo-asturias-theme/images/icons/tickets.png" alt="${languageUtil.format(request,'go-to-x', 'infoasturias-reservar-ahora')}">
235 ${languageUtil.get(request,'infoasturias-reservar-ahora')}
236 </button>
237 </#if>
238
239 <#if CodigoDGT.data?has_content>
240 <#assign paramsMap = {
241 "accommodationCode": CodigoDGT.data,
242 "jspPage": "/html/results/accommodation/accommodation.jsp"
243 } />
244 <#assign bookingURL = portletTool.createURL(request, "as_asac_accommodationbooking_AccommodationBookingResultsPortlet", themeDisplay.getPlid(), themeDisplay.getLifecycle(), "pop_up", paramsMap) />
245 <button id="<@portlet.namespace/>accommodationbookingRequestForm" type="button" class="btn btn-primary btn-small text-center text-uppercase hide" onclick="event.preventDefault(); showDialogIframe('${bookingURL}','${languageUtil.get(request,'infoasturias-solicitud-reserva')}', '800px', '','formularioReserva', 'formularioReservaIframe');">
246 <img src="/o/turismo-asturias-theme/images/icons/tickets.png" alt="${languageUtil.format(request,'go-to-x', 'infoasturias-reservar-ahora')}">
247 ${languageUtil.get(request,'infoasturias-reservar-ahora')}
248 </button>
249 </#if>
250 </div>
251 </#if>
252 </#if>
253 </div>
254 </div>
255 <div class="article-list-wrapper pt-3">
256 <ul class="article-list list-unstyled article-list-info">
257 <li class="article-list-item mb-2 pl-2">
258 <#if caminoCategories?size !=0>
259 <#if (caminoCategories?size ==2)>
260 <div class="col-9 d-table-cell align-middle">
261 <#list caminoCategories as ctg>
262 <#if ctg.getParentCategoryId() == 0>
263 <#assign imageCategoryUuid = assetCategoryTool.getCategoryProperty(ctg.getCategoryId(), "image")/>
264 <#if validator.isNotNull(imageCategoryUuid)>
265 <#assign imagePath = dlTool.getPathByUuid(imageCategoryUuid, groupId)/>
266 <#if validator.isNotNull(imagePath) && !hasCategoryImage>
267 <#assign hasCategoryImage = true />
268 <div class="d-block pull-left mr-3 mb-4">
269 <img alt="Camino de Santiago" src="${imagePath}">
270 </div>
271 </#if>
272 </#if>
273 <div class="field-wrapper text-uppercase d-block">
274 <span class="field">${languageUtil.get(request, "infoasturias-itinerario")}:</span>
275 <span class="text">${ctg.getTitle(locale)}</span>
276 </div>
277 <#elseif ctg.getParentCategoryId() != 0>
278 <div class="field-wrapper">
279 <span class="text">${ctg.getTitle(locale)}</span>
280 </div>
281 </#if>
282 </#list>
283 </div>
284 <#elseif (caminoCategories?size gt 2)>
285 <div class="col-9 d-table-cell align-middle">
286 <#list caminoCategories as ctg>
287 <#if ctg.getParentCategoryId() == 0>
288 <#assign imageCategoryUuid = assetCategoryTool.getCategoryProperty(ctg.getCategoryId(), "image")/>
289 <#if validator.isNotNull(imageCategoryUuid)>
290 <#assign imagePath = dlTool.getPathByUuid(imageCategoryUuid, groupId)/>
291 <#if validator.isNotNull(imagePath) && !hasCategoryImage>
292 <#assign hasCategoryImage = true />
293 <div class="d-block pull-left mr-3 mb-4">
294 <img alt="Camino de Santiago" src="${imagePath}">
295 </div>
296 </#if>
297 </#if>
298 <div class="field-wrapper text-uppercase d-block">
299 <span class="field">${languageUtil.get(request, "infoasturias-itinerario")}:</span>
300 <span class="text">${ctg.getTitle(locale)}</span>
301 </div>
302 <#list caminoCategories as childCtg>
303
304 <#if ctg.getCategoryId() == childCtg.getParentCategoryId()>
305 <div class="field-wrapper">
306 <span class="text">${childCtg.getTitle(locale)}</span>
307 </div>
308 </#if>
309
310 </#list>
311 </#if>
312 </#list>
313 </div>
314 </#if>
315 </#if>
316 </li>
317 <#if Peregrinos ??>
318 <#if Peregrinos.Exclusivo.data?has_content>
319 <#assign exclusivoKey = journalTool.getDDMStructureSelectKeyByJournalArticle(journalArticle, "Exclusivo", Peregrinos.Exclusivo.getData(), locale)/>
320 <#if validator.isNotNull(exclusivoKey)>
321 <li class="article-list-item mb-4 pl-4 separator-peregrinos">
322 <span class="field-wrapper">
323 <span class="field">${languageUtil.get(request, "infoasturias-peregrinos-exclusivo")}:</span>
324 <span class="text">${exclusivoKey} </span>
325 </span>
326 </li>
327 </#if>
328 </#if>
329 </#if>
330 <li class="article-list-item mb-4">
331 <span class="fas fa-map-marker-alt">
332 <span class="hide-accessible">${languageUtil.get(request,"address")}</span>
333 </span>
334 <span class="field-wrapper" itemprop="address">
335 <#if Contacto.Concejo.data?has_content>
336 <span class="important">${Contacto.Concejo.data}</span>
337 <#else>
338 <span class="important">${title}</span>
339 </#if>
340 <#if Contacto.Zona.data?has_content>
341 <span class="text d-block">${Contacto.Zona.data}</span>
342 </#if>
343
344 </span>
345 </li>
346 <#if validator.isNotNull(Contacto.Direccion.data) || validator.isNotNull(Contacto.CP.data) || validator.isNotNull(Contacto.Localidad.data)>
347 <li class="article-list-item">
348 <span class="far fa-address-card">
349 <span class="hide-accessible">${languageUtil.get(request,"address")}</span>
350 </span>
351 <span class="field-wrapper">
352 <span class="field">${languageUtil.get(request, "address")}:</span>
353 <span class="text">${Contacto.Direccion.data}</span>
354 <span class="text"> ■ ${Contacto.CP.data} - ${Contacto.Localidad.data}</span>
355 </span>
356 </li>
357 </#if>
358
359 <#if Contacto.Telefono.data?has_content>
360 <li class="article-list-item">
361 <span class="fas fa-phone-alt">
362 <span class="hide-accessible">${languageUtil.get(request,"phone")}</span>
363 </span>
364 <span class="field-wrapper">
365 <span class="field">${languageUtil.get(request, "phone")}:</span>
366 <span class="text" itemprop="telephone">${Contacto.Telefono.data}</span>
367 </span>
368 </li>
369 </#if>
370
371 <#if Contacto.Email.data?has_content>
372 <li class="article-list-item">
373 <span class="far fa-envelope">
374 <span class="hide-accessible">${languageUtil.get(request,"email")}</span>
375 </span>
376 <span class="field-wrapper">
377 <span class="field">${languageUtil.get(request, "email")}:</span>
378 <#list Contacto.Email.getSiblings() as email>
379 <span class="text">
380 <a class="" href="mailto:${email.data}" title="${languageUtil.format(request,'send-email-to-x', 'email')}" itemprop="email">${email.data}</a>
381 <#if !email?is_last>|</#if>
382 </span>
383 </#list>
384 </span>
385 </li>
386 </#if>
387
388 <#if Contacto.Web.data?has_content>
389 <li class="article-list-item web">
390 <span class="fas fa-link">
391 <span class="hide-accessible">${languageUtil.get(request,"site")}</span>
392 </span>
393 <span class="field-wrapper">
394 <span class="field">${languageUtil.get(request, "site")}:</span>
395 <span class="text">
396 <#assign linkURL = Contacto.Web.data/>
397
398 <#if !stringUtil.startsWith(linkURL, "http")>
399 <#assign linkURL = "https://${Contacto.Web.data}"/>
400 </#if>
401
402 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x', 'site')}" itemprop="url">${Contacto.Web.data}</a>
403
404 </span>
405 </span>
406 </li>
407 </#if>
408
409 <#if Informacion.FechasCierre.data?has_content>
410 <li class="article-list-item mt-4">
411 <span class="fas fa-calendar">
412 <span class="hide-accessible">${languageUtil.get(request,"infoasturias-fechas-de-cierre")}</span>
413 </span>
414 <span class="field-wrapper">
415 <span class="field">${languageUtil.get(request, "infoasturias-fechas-de-cierre")}:</span>
416 <span class="text">${Informacion.FechasCierre.data}</span>
417 </span>
418 </li>
419 </#if>
420
421 <#if Informacion.AbiertoTodoAno.data?has_content && (Informacion.AbiertoTodoAno.data == "Si" || Informacion.AbiertoTodoAno.data == "Sí" || Informacion.AbiertoTodoAno.data == "SI")>
422 <li class="article-list-item mt-4">
423 <span class="fas fa-door-open">
424 <span class="hide-accessible">${languageUtil.get(request,"infoasturias-abierto-todo-anio")}</span>
425 </span>
426 <span class="field-wrapper">
427 <span class="text">${languageUtil.get(request, "infoasturias-abierto-todo-anio")}</span>
428 </span>
429 </li>
430 </#if>
431 <#if Descargas ??>
432 <#if validator.isNotNull(Descargas.Archivo.data)>
433 <#if validator.isNotNull(Descargas.Archivo.data)>
434 <#assign dlFileEntry = dlTool.getDLFileEntryByPath(Descargas.Archivo.data) />
435 <#if validator.isNotNull(dlFileEntry)>
436 <#assign ext = dlFileEntry.getExtension()!/>
437 <li class="article-list-item document document-${ext}">
438 <span class="fas fa-file">
439 <span class="hide-accessible">${languageUtil.get(request,"related-documents")}</span>
440 </span>
441 <span class="field-wrapper">
442 <span class="field">${languageUtil.get(request, "related-documents")}:</span>
443 <span class="text">
444 <#list Descargas.Archivo.getSiblings() as Item>
445 <#assign dlFileEntry = dlTool.getDLFileEntryByPath(Item.data) />
446 <#assign downloadURL = "/documents/${groupId}/${dlFileEntry.getUuid()}" />
447 <#if validator.isNotNull(dlFileEntry)>
448 <#if Item.ArchivoTitulo.data?has_content>
449 <a href="${downloadURL}" title='${languageUtil.get(request, "${Item.ArchivoTitulo.data}")} ${htmlUtil.escape(title)}' class="">${Item.ArchivoTitulo.data}</a>
450 <#if Item_has_next>, </#if>
451 <#else>
452 <a href="${downloadURL}" title='${languageUtil.get(request, "${dlFileEntry.getTitle()}")} ${htmlUtil.escape(title)}' class="">${dlFileEntry.getTitle()}</a>
453 <#if Item_has_next>, </#if>
454 </#if>
455 </#if>
456 </#list>
457 </span>
458 </span>
459 </li>
460 </#if>
461 </#if>
462 </#if>
463 </#if>
464 </ul>
465 </div>
466 </div>
467
468 <#if validator.isNotNull(Contacto.Facebook.data) || validator.isNotNull(Contacto.Twitter.data) || validator.isNotNull(Contacto.Youtube.data) || validator.isNotNull(Contacto.Pinterest.data) || Contacto.Instagram?? || Contacto.TikTok??>
469 <div class="article-socials-wrapper mt-4">
470 <div class="socials-wrapper">
471 <div class="socials">
472 <ul class="list-inline items socials">
473 <#if Contacto.Facebook.data?has_content>
474 <#assign linkURL = Contacto.Facebook.data/>
475
476 <#if !stringUtil.startsWith(linkURL, "http")>
477 <#assign linkURL = "https://${Contacto.Facebook.data}"/>
478 </#if>
479 <li class="list-inline-item item facebook">
480 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Facebook')}" onclick="this.target='_blank'">
481 <span class="fab fa-facebook-f">
482 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Facebook')}</span>
483 </span>
484 </a>
485 </li>
486 </#if>
487 <#if Contacto.Twitter.data?has_content>
488 <#assign linkURL = Contacto.Twitter.data/>
489
490 <#if !stringUtil.startsWith(linkURL, "http")>
491 <#assign linkURL = "https://${Contacto.Twitter.data}"/>
492 </#if>
493 <li class="list-inline-item item twitter">
494 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Twitter')}" onclick="this.target='_blank'">
495 <span class="fab fa-twitter">
496 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Twitter')}</span>
497 </span>
498 </a>
499 </li>
500 </#if>
501 <#if Contacto.Youtube.data?has_content>
502 <#assign linkURL = Contacto.Youtube.data/>
503
504 <#if !stringUtil.startsWith(linkURL, "http")>
505 <#assign linkURL = "https://${Contacto.Youtube.data}"/>
506 </#if>
507 <li class="list-inline-item item youtube">
508 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Youtube')}" onclick="this.target='_blank'">
509 <span class="fab fa-youtube">
510 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Youtube')}</span>
511 </span>
512 </a>
513 </li>
514 </#if>
515 <#if Contacto.TikTok??>
516 <#if Contacto.TikTok.data?has_content>
517 <#assign linkURL = Contacto.TikTok.data/>
518
519 <#if !stringUtil.startsWith(linkURL, "http")>
520 <#assign linkURL = "https://${Contacto.TikTok.data}"/>
521 </#if>
522 <li class="list-inline-item item tiktok">
523 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Tiktok')}" onclick="this.target='_blank'">
524 <span class="fab fa-tiktok">
525 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Tiktok')}</span>
526 </span>
527 </a>
528 </li>
529 </#if>
530 </#if>
531 <#if Contacto.Pinterest.data?has_content>
532 <#assign linkURL = Contacto.Pinterest.data/>
533
534 <#if !stringUtil.startsWith(linkURL, "http")>
535 <#assign linkURL = "https://${Contacto.Pinterest.data}"/>
536 </#if>
537 <li class="list-inline-item item pinterest">
538 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Pinterest')}" onclick="this.target='_blank'">
539 <span class="fab fa-pinterest-p">
540 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Pinterest')}</span>
541 </span>
542 </a>
543 </li>
544 </#if>
545 <#if Contacto.Instagram??>
546
547 <#if Contacto.Instagram.data?has_content>
548 <#assign linkURL = Contacto.Instagram.data/>
549
550 <#if !stringUtil.startsWith(linkURL, "http")>
551 <#assign linkURL = "https://${Contacto.Instagram.data}"/>
552 </#if>
553 <li class="list-inline-item item instagram">
554 <a href="${linkURL}" title="${languageUtil.format(request,'go-to-x','Instagram')}" onclick="this.target='_blank'">
555 <span class="fab fa-instagram">
556 <span class="hide-accessible">${languageUtil.format(request,'go-to-x','Instagram')}</span>
557 </span>
558 </a>
559 </li>
560 </#if>
561 </#if>
562 </ul>
563 </div>
564 </div>
565 </div>
566 </#if>
567 <#if getterUtil.getBoolean(Informacion.QdeCalidad.getData()) || getterUtil.getBoolean(Informacion.AldeasCalidad.getData()) || getterUtil.getBoolean(Informacion.CalidadCasonasAsturianas.getData())>
568 <div class="article-info-table">
569 <ul class="article-list article-list-characteristics article-info-border">
570 <#if getterUtil.getBoolean(Informacion.QdeCalidad.getData())>
571 <li class="list-inline-item">
572 <img class="" src="${themeDisplay.getPathThemeImages()}/icons/qturistica.png" data-toggle="tooltip" data-placement="bottom" title="${languageUtil.get(request, 'infoasturias-qcalidad')}" alt="${languageUtil.get(request, 'infoasturias-qcalidad')}"/></li>
573
574 </#if>
575 <#if getterUtil.getBoolean(Informacion.AldeasCalidad.getData())>
576 <li class="list-inline-item">
577 <img class="" src="${themeDisplay.getPathThemeImages()}/icons/aldeas_asturianas.png" data-toggle="tooltip" data-placement="bottom" title="${languageUtil.get(request, 'infoasturias-aldeas-calidad')}" alt="${languageUtil.get(request, 'infoasturias-aldeas-calidad')}"/></li>
578
579 </#if>
580 <#if getterUtil.getBoolean(Informacion.CalidadCasonasAsturianas.getData())>
581 <li class="list-inline-item">
582 <img class="" src="${themeDisplay.getPathThemeImages()}/icons/casonas_asturianas.png" data-toggle="tooltip" data-placement="bottom" title="${languageUtil.get(request, 'infoasturias-casonas-asturias')}" alt="${languageUtil.get(request, 'infoasturias-casonas-asturianas')}"/></li>
583
584 </#if>
585 </ul>
586 </div>
587 </#if>
588
589 </div>
590 </div>
591 </div>
592 </div>
593 </div>
594 </header>
595
596 <div class="sheet sheet-lg">
597
598 <#-- as_asac_accommodationbooking_AccommodationBookingResultsPortlet -->
599 <#assign paramsMap = {
600 "cmd": cmd,
601 "startDate": paramUtil.getString(request, "p_r_p_startDate"),
602 "endDate": paramUtil.getString(request, "p_r_p_endDate"),
603 "priceMin": paramUtil.getString(request, "p_r_p_priceMin"),
604 "priceMax": paramUtil.getString(request, "p_r_p_priceMax"),
605 "rooms": paramUtil.getString(request, "p_r_p_rooms"),
606 "babys": paramUtil.getString(request, "p_r_p_babys"),
607 "kids": paramUtil.getString(request, "p_r_p_kids"),
608 "adults": paramUtil.getString(request, "p_r_p_adults"),
609 "accommodationCode": CodigoDGT.data,
610 "jspPage": "/html/results/accommodation/rooms.jsp"
611 } />
612 <#assign roomsURL = portletTool.createURL(request, "as_asac_accommodationbooking_AccommodationBookingResultsPortlet", themeDisplay.getPlid(), themeDisplay.getLifecycle(), "exclusive", paramsMap) />
613 <div id="bookings-${articleId}" class="article-border mb-5 hide">
614 <!-- box-bookings -->
615 </div>
616
617 <#if Informacion.Titulo.data?has_content>
618 <div class="article-great">
619 ${Informacion.Titulo.data}
620 </div>
621 </#if>
622
623 <#assign hasTab1 = Informacion.DescripcionLarga.data?has_content>
624 <#assign hasTab2 = ServiciosEstablecimiento.data?has_content || ServiciosHabitacion.data?has_content || ServiciosComplementarios.data?has_content || SeguridadYSanidad.data?has_content>
625 <#assign hasTab3 = Contacto.Tarifas.data?has_content>
626 <#assign hasTab4 = Informacion.TemporadaAlta.data?has_content || Informacion.TemporadaMedia.data?has_content || Informacion.TemporadaBaja.data?has_content>
627 <#assign hasTab5 = Geolocalizacion.Coordenadas.data?has_content>
628 <#assign hasTab6 = AsturiasMascotas?? && AsturiasMascotas.SuplementoMascota?? && AsturiasMascotas.SuplementoMascota.data?has_content>
629 <#if Peregrinos ??>
630 <#assign hasTab7 = Peregrinos.InfoReservas.data?has_content>
631 </#if>
632 <#assign showFirstTab = true>
633
634 <div class="article-accordion accordion">
635
636 <#if Visualizador.Slide.getData()?has_content>
637 <div class="slick article-slick article-section <#if Visualizador.Slide.getSiblings()?size==1>hide</#if>">
638 <#list Visualizador.Slide.getSiblings() as Slide>
639 <#assign slideThumbnail3 = dlTool.getThumbnailByJSON(Slide.data, "3")! />
640 <#assign slideThumbnail2 = dlTool.getThumbnailByJSON(Slide.data, "2")! />
641 <#assign slidePath = dlTool.getPathByJSON(Slide.data, themeDisplay.getScopeGroupId())! />
642 <#assign slideUrl = Slide.SlideUrl.data />
643 <#assign dataMap = "" />
644
645 <#if slideUrl?has_content>
646
647 <#assign slideTitle = "${languageUtil.get(request, 'video')} ${Slide?index}" />
648 <#if Slide.SlideTitulo.data?has_content>
649 <#assign slideTitle = Slide.SlideTitulo.data />
650 </#if>
651
652 <#-- Youtube -->
653 <#assign slideUrl = stringUtil.replace(slideUrl, 'watch?v=', 'embed/') />
654 <#assign slideThumbnail2 = stringUtil.replace(slideUrl, 'www', 'img') />
655 <#assign slideThumbnail2 = stringUtil.replace(slideThumbnail2, 'embed', 'vi') />
656 <#assign slideThumbnail2 = '${slideThumbnail2}/mqdefault.jpg' />
657
658 <#-- Vimeo -->
659 <#if slideUrl?contains("vimeo")>
660 <#assign slideUrl = stringUtil.replace(slideUrl, 'http://vimeo.com/', 'https://player.vimeo.com/video/') />
661 <#assign slideVimeoId = stringUtil.extractLast(slideUrl, 'https://player.vimeo.com/video/') />
662 <#if slideVimeoId?has_content>
663 <#assign slideVimeoJsonPath = 'http://vimeo.com/api/v2/video/${slideVimeoId}.json' />
664 <#assign slideVimeoJsonContent = getUrlContent.getContent(slideVimeoJsonPath)! />
665 <#if slideVimeoJsonContent?has_content>
666 <#assign slideVimeoJsonArray = jsonFactoryUtil.createJSONArray(slideVimeoJsonContent) />
667 <#assign slideVimeoJsonItem = slideVimeoJsonArray.get(0) />
668 <#assign slideThumbnail2 = slideVimeoJsonItem.thumbnail_medium />
669 </#if>
670 </#if>
671 </#if>
672
673 <div id="slide-${Slide?index}" class="slide">
674 <a class="card card-simple card-video" href="#" onclick="javascript: event.preventDefault(); showDialogIframe('${slideUrl}', '${slideTitle}', 800, 600, 'videoPopup', 'videoPopupIframe');" title="${slideTitle}">
675 <span class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3" style="background-image: url('${slideThumbnail2}');">
676 <img class="hide-accessible" alt="${slideTitle}" src="${slideThumbnail2}">
677 </span></a>
678 </div>
679 <#else>
680
681 <#assign slideTitle = "${languageUtil.get(request, 'image')} ${Slide?index}" />
682 <#if Slide.SlideTitulo.data?has_content>
683 <#assign slideTitle = Slide.SlideTitulo.data />
684 </#if>
685
686 <div class="slide">
687 <a class="card card-simple lightbox" href="${slidePath}" title="${slideTitle}">
688 <span class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3" style="background-image: url('${slideThumbnail2}');">
689 <img class="hide-accessible" alt="${slideTitle}" src="${slideThumbnail2}">
690 </span></a>
691 </div>
692 </#if>
693 </#list>
694 </div>
695 </#if>
696
697 <#if hasTab1>
698 <div id="tab1" class="article-section accordion-item">
699 <a href="#tabContent1" id="tabHeading" class="h3 accordion-header <#if !showFirstTab>collapsed</#if>" aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent1" role="button">
700 ${languageUtil.get(request,'info')}
701 </a>
702 <div id="tabContent1" class="article-section-content article-section-info accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading">
703 <#if Informacion.DescripcionLarga.data?has_content>
704 ${Informacion.DescripcionLarga.data}
705 </#if>
706 </div>
707 </div>
708 <#assign showFirstTab = false>
709 </#if>
710
711 <#if hasTab2>
712 <div id="tab2" class="article-section accordion-item">
713 <a href="#tabContent2" id="tabHeading2" class="h3 accordion-header <#if !showFirstTab>collapsed</#if>" aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent2" role="button">${languageUtil.get(request,'infoasturias-servicios')}</a>
714 <div id="tabContent2" class="article-section-content article-section-color article-section-background accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading2">
715 <#if ServiciosEstablecimiento.data?has_content>
716 <div class="h4">${languageUtil.get(request,'infoasturias-servicios-establecimiento')}</div>
717 ${ServiciosEstablecimiento.data}
718 </#if>
719 <#if ServiciosHabitacion.data?has_content>
720 <div class="h4 mt-5">${languageUtil.get(request,'infoasturias-servicios-habitacion')}</div>
721 ${ServiciosHabitacion.data}
722 </#if>
723 <#if ServiciosComplementarios.data?has_content>
724 <div class="h4 mt-5">${languageUtil.get(request,'infoasturias-servicios-complementarios')}</div>
725 ${ServiciosComplementarios.data}
726 </#if>
727 <#if SeguridadYSanidad.data?has_content>
728 <div class="h4 mt-5">${languageUtil.get(request,'infoasturias-seguridad-y-sanidad')}</div>
729 ${SeguridadYSanidad.data}
730 </#if>
731 </div>
732 </div>
733 <#assign showFirstTab = false>
734 </#if>
735 <#if Peregrinos ??>
736 <#if hasTab7>
737 <div id="tab7" class="article-section accordion-item">
738 <a href="#tabContent7" id="tabHeading7" class="h3 accordion-header <#if !showFirstTab>collapsed</#if>" aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent7" role="button">
739 ${languageUtil.get(request, "infoasturias-peregrinos-info-reservas")}
740 </a>
741 <div id="tabContent7" class="article-section-content article-section-info accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading7">
742 <#if Peregrinos.InfoReservas.data?has_content>
743 ${Peregrinos.InfoReservas.data}
744 </#if>
745 </div>
746
747 </div>
748 <#assign showFirstTab = false>
749 </#if>
750 </#if>
751 <#if hasTab3>
752 <div id="tab3" class="article-section accordion-item">
753 <a href="#tabContent3" id="tabHeading3" class="h3 accordion-header <#if !showFirstTab>collapsed</#if>" aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent3" role="button">${languageUtil.get(request,'infoasturias-tarifas')}</a>
754 <div id="tabContent3" class="article-section-content article-section-color article-section-background accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading3">
755 <#if Contacto.Tarifas.data?has_content>
756 ${Contacto.Tarifas.data}
757 </#if>
758
759 <ul class="article-list list-unstyled article-list-info mt-4">
760 <#if Contacto.DesayunoIncluido.data?has_content && Contacto.DesayunoIncluido.data != "Desayuno no incluido">
761 <li class="article-list-item">
762 <span class="fas fa-coffee">
763 <span class="hide-accessible">${languageUtil.get(request,"breakfast")}</span>
764 </span>
765 <span class="field-wrapper">
766 <span class="field">${languageUtil.get(request, "breakfast")}:</span>
767 <span class="text">${Contacto.DesayunoIncluido.data}</span>
768 </span>
769 </li>
770 </#if>
771
772 <#if Contacto.LimpiezaIncluida.data?has_content && Contacto.LimpiezaIncluida.data != "Limpieza no incluida">
773 <li class="article-list-item">
774 <span class="fas fa-broom">
775 <span class="hide-accessible">${languageUtil.get(request,"infoasturias-clean")}</span>
776 </span>
777 <span class="field-wrapper">
778 <span class="field">${languageUtil.get(request, "infoasturias-clean")}:</span>
779 <span class="text">${Contacto.LimpiezaIncluida.data}</span>
780 </span>
781 </li>
782 </#if>
783
784 <#if Contacto.SabanasIncluidas.data?has_content && Contacto.DesayunoIncluido.data != "Sabanas no incluidas">
785 <li class="article-list-item">
786 <span class="fas fa-bed">
787 <span class="hide-accessible">${languageUtil.get(request,"infoasturias-sabanas")}</span>
788 </span>
789 <span class="field-wrapper">
790 <span class="field">${languageUtil.get(request, "infoasturias-sabanas")}:</span>
791 <span class="text">${Contacto.SabanasIncluidas.data}</span>
792 </span>
793 </li>
794 </#if>
795
796 <#if Informacion.FechasCierre.data?has_content>
797 <li class="article-list-item hide">
798 <span class="fas fa-calendar">
799 <span class="hide-accessible">${languageUtil.get(request,"infoasturias-fechas-de-cierre")}</span>
800 </span>
801 <span class="field-wrapper">
802 <span class="field">${languageUtil.get(request, "infoasturias-fechas-de-cierre")}:</span>
803 <span class="text">${Informacion.FechasCierre.data}</span>
804 </span>
805 </li>
806 </#if>
807
808 <#if Informacion.AbiertoTodoAno.data?has_content && (Informacion.AbiertoTodoAno.data == "Si" || Informacion.AbiertoTodoAno.data == "Sí" || Informacion.AbiertoTodoAno.data == "SI")>
809 <li class="article-list-item hide">
810 <span class="fas fa-door-open">
811 <span class="hide-accessible">${languageUtil.get(request,"infoasturias-abierto-todo-anio")}</span>
812 </span>
813 <span class="field-wrapper">
814 <span class="text">${languageUtil.get(request, "infoasturias-abierto-todo-anio")}</span>
815 </span>
816 </li>
817 </#if>
818 </ul>
819 </div>
820 </div>
821 <#assign showFirstTab = false>
822 </#if>
823
824 <#if hasTab4>
825 <div id="tab4" class="article-section accordion-item">
826 <a href="#tabContent4" id="tabHeading4" class="h3 accordion-header <#if !showFirstTab>collapsed</#if>" aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent4" role="button">${languageUtil.get(request,'infoasturias-temporadas')}</a>
827 <div id="tabContent4" class="article-section-content article-section-color article-section-background accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading4">
828 <#if Informacion.TemporadaAlta.data?has_content || Informacion.TemporadaMedia.data?has_content || Informacion.TemporadaBaja.data?has_content>
829 <#if Informacion.TemporadaAlta.data?has_content>
830 <span class="field-wrapper d-block">
831 <span class="field">${languageUtil.get(request, "infoasturias-temporada-alta")}:</span>
832 <span class="text">${Informacion.TemporadaAlta.data}</span>
833 </span>
834 </#if>
835
836 <#if Informacion.TemporadaMedia.data?has_content>
837 <span class="field-wrapper d-block">
838 <span class="field">${languageUtil.get(request, "infoasturias-temporada-media")}:</span>
839 <span class="text">${Informacion.TemporadaMedia.data}</span>
840 </span>
841 </#if>
842
843 <#if Informacion.TemporadaBaja.data?has_content>
844 <span class="field-wrapper d-block">
845 <span class="field">${languageUtil.get(request, "infoasturias-temporada-baja")}:</span>
846 <span class="text">${Informacion.TemporadaBaja.data}</span>
847 </span>
848 </#if>
849 </#if>
850 </div>
851 </div>
852 <#assign showFirstTab = false>
853 </#if>
854
855 <#if hasTab5>
856 <#assign coordenadas=stringUtil.split(Geolocalizacion.Coordenadas.data) />
857 <div id="tab5" class="article-section accordion-item">
858 <a href="#tabContent5" id="tabHeading5" class="h3 accordion-header <#if !showFirstTab>collapsed</#if>" aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent5" role="button">
859 ${languageUtil.get(request,'map')}
860 </a>
861 <div id="tabContent5" class="article-section-content accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading5">
862 <div id="article-map-wrapper-${articleId}" class="article-map-wrapper">
863 <div id="article-map-content-${articleId}" style="width: 100%; height: 500px; z-index:1"><!-- MAP --></div>
864 <div class="article-map-form">
865 <div class="name important">${title}</div>
866 <div class="gps"><span class="label">GPS:</span> <span class="value important" itemprop="geo">${Geolocalizacion.Coordenadas.data}</span></div>
867 <form action="https://maps.google.es/maps" method="get" target="_blank">
868 <input type="hidden" name="daddr" value="${coordenadas[0]},${coordenadas[1]}">
869 <label for="saddr"><span class="label">${languageUtil.get(request,'infoasturias-from')}: </span></label>
870 <input class="form-control" type="text" maxlength="40" name="saddrText" id="saddrText" value="" placeholder="${languageUtil.get(request,'infoasturias-insert-from')}">
871 <input class="form-control" type="hidden" name="saddr" id="saddr" value="" placeholder="${languageUtil.get(request,'infoasturias-insert-from')}">
872 <button class="btn btn-text" type="submit">${languageUtil.get(request,'infoasturias-como-llegar')} »</button>
873 </form>
874 </div>
875 </div>
876 <script src="/o/turismo-asturias-theme/js/leaflet/leaflet.js"></script>
877 <script type="text/javascript">
878 AUI().ready('aui-base', function(A){
879 var lat = ${coordenadas[0]},
880 lng = ${coordenadas[1]},
881 zoom = 16;
882 mapContent = new L.map('article-map-content-${articleId}', {center: [lat, lng], zoom: 16});
883
884 //Marker
885 var defaultIconTheme = '/o/turismo-asturias-theme/css/images/icons/mark-box.png';
886 var defaultIcon = L.icon({
887 iconUrl: defaultIconTheme,
888 iconSize: [36, 53],
889 iconAnchor: [18, 53],
890 iconShadow: [0,0],
891 popupAnchor: [0, -30]
892 });
893 var marker = L.marker([lat, lng], {icon: defaultIcon}).addTo(mapContent);
894
895 var contentString = '<div class="row">';
896 contentString += '<div class="col-12">';
897 contentString += '<div class="h4">${htmlUtil.escape(title)}</div>';
898 contentString += '</div>';
899 contentString += '</div>';
900
901 contentString += '<div class="row">';
902 contentString += '<div class="col-12">';
903 <#if validator.isNotNull(articleMainImageThumbnail1)>
904 contentString += '<img class="pull-right mb-2 ml-2" style="max-width:80px;" src="${articleMainImageThumbnail1}" alt="${htmlUtil.escape(title)}"/>';
905 </#if>
906 contentString += '<dl class="mb-0">';
907 <#if address?has_content>
908 contentString += '<dt>${languageUtil.get(request,'address')}</dt>';
909 contentString += '<dd>${htmlUtil.escape(address)}</dd>';
910 </#if>
911 <#if Contacto.Telefono.data?has_content>
912 contentString += '<dt>${languageUtil.get(request,'phone')}</dt>';
913 contentString += '<dd>${Contacto.Telefono.data}</dd>';
914 </#if>
915 <#if Contacto.Email.getData()?has_content>
916 contentString += '<dt>${languageUtil.get(request,'email')}</dt>';
917 <#list Contacto.Email.getSiblings() as Item>
918 contentString += '<dd><a href="mailto:${Item.data}" title="${languageUtil.format(request,'go-to-x', 'email')}">${Item.data}</a></dd>';
919 </#list>
920 </#if>
921 <#if Contacto.Web.data?has_content>
922 <#assign linkURL = Contacto.Web.data/>
923 <#if !stringUtil.startsWith(linkURL, "http")>
924 <#assign linkURL = "https://${Contacto.Web.data}"/>
925 </#if>
926 contentString += '<dt>${languageUtil.get(request,'site')}</dt>';
927 contentString += '<dd><a href="${linkURL}" title="${languageUtil.format(request,'go-to-x', 'site')}">${Contacto.Web.data}</a></dd';
928 </#if>
929 contentString += '</dl>';
930 contentString += '</div>';
931 contentString += '</div>';
932 marker.bindPopup(contentString);
933
934 //Contributor
935 L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
936 attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.'
937 }).addTo(mapContent);
938
939 }); //AUI.ready
940 </script>
941 </div>
942 </div>
943 <#assign showFirstTab = false>
944 </#if>
945 <#if hasTab6>
946 <div id="tab6" class="article-section accordion-item">
947 <a href="#tabContent6" id="tabHeading6" class="h3 accordion-header <#if !showFirstTab>collapsed</#if>" aria-expanded="${getterUtil.getString(showFirstTab)}" data-toggle="liferay-collapse" aria-controls="tabContent6" role="button">${languageUtil.get(request,'infoasturias-info-mascotas')}</a>
948 <div id="tabContent6" class="article-section-content article-section-color article-section-background accordion-collapse collapse <#if showFirstTab>show</#if>" aria-labelledby="tabHeading6">
949 <#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 ||
950 AsturiasMascotas.SolosHabitacion?? && AsturiasMascotas.SolosHabitacion.data?has_content || AsturiasMascotas.AccesoInterior?? && AsturiasMascotas.AccesoInterior.data?has_content ||
951 AsturiasMascotas.Cama?? && AsturiasMascotas.Cama.data?has_content || AsturiasMascotas.Comedero?? && AsturiasMascotas.Comedero.data?has_content ||
952 AsturiasMascotas.ZonasComunes?? && AsturiasMascotas.ZonasComunes.data?has_content || AsturiasMascotas.Guarderia?? && AsturiasMascotas.Guarderia.data?has_content || AsturiasMascotas.OtrasMascotas?? && AsturiasMascotas.OtrasMascotas.data?has_content || AsturiasMascotas.OtrosAnimales?? && AsturiasMascotas.OtrosAnimales.data?has_content || AsturiasMascotas.DetalleNormas?? && AsturiasMascotas.DetalleNormas.data?has_content>
953 <ul class="list-unstyled">
954 <div class="list-iconos">
955 <#if AsturiasMascotas.SuplementoMascota.data?has_content>
956 <div class="col-xl-2 col-sm-6 col-xs-12 text-center list-inline-item icono">
957 <#if AsturiasMascotas.SuplementoMascota.getData() == "Si">
958 <#assign SuplementoImage = assetCategoryTool.getImagesByVocabularyCategoryName(groupId, "Mascotas", "Suplemento por mascota")/>
959 <div ><img src="${SuplementoImage[0]}" alt="${languageUtil.get(request,'infoasturias-mascotas-con-suplemento')}"/></div>
960 <span class="text-value">${languageUtil.get(request,'infoasturias-mascotas-con-suplemento')}</span>
961 <#elseif AsturiasMascotas.SuplementoMascota.getData() == "No">
962 <#assign SinSuplementoImage = assetCategoryTool.getImagesByVocabularyCategoryName(groupId, "Mascotas", "Sin suplemento por mascota")/>
963 <div ><img src="${SinSuplementoImage[0]}" alt="${languageUtil.get(request,'infoasturias-mascotas-no-suplemento')}"/></div>
964 <span class="text-value">${languageUtil.get(request,'infoasturias-mascotas-no-suplemento')}</span>
965 </#if>
966 </div>
967 </#if>
968 <#if AsturiasMascotas.LimitacionPeso.data?has_content>
969 <div class="col-xl-2 col-sm-6 col-xs-12 text-center list-inline-item icono">
970 <#assign LimitacionPesoImage = assetCategoryTool.getImagesByVocabularyCategoryName(groupId, "Mascotas", "Limitación de tamaño")/>
971 <div><img src="${LimitacionPesoImage[0]}" alt="${languageUtil.get(request,'infoasturias-mascotas-peso')}"/><span class="value">${AsturiasMascotas.LimitacionPeso.data}</span></div>
972 <span class="text-value">${languageUtil.get(request,'infoasturias-mascotas-peso')}</span>
973 </div>
974 </#if>
975 <#if AsturiasMascotas.NumeroMaximo.data?has_content>
976 <div class="col-xl-2 col-sm-6 col-xs-12 text-center list-inline-item icono">
977 <#assign NumeroMaximoImage = assetCategoryTool.getImagesByVocabularyCategoryName(groupId, "Mascotas", "Número máximo de perros por reserva")/>
978 <div><img src="${NumeroMaximoImage[0]}" alt="${languageUtil.get(request,'infoasturias-maximo-habitacion')}"/><span class="value-icono">${AsturiasMascotas.NumeroMaximo.data}</span></div>
979 <span class="text-value">${languageUtil.get(request,'infoasturias-maximo-habitacion')}</span>
980 </div>
981 </#if>
982 <#if AsturiasMascotas.SolosHabitacion.data?has_content>
983 <div class="col-xl-2 col-sm-6 col-xs-12 text-center list-inline-item icono">
984 <#if AsturiasMascotas.SolosHabitacion.getData() == "Si">
985 <#assign SolosHabitacionImage = assetCategoryTool.getImagesByVocabularyCategoryName(groupId, "Mascotas", "Se permite dejar el perro solo en la habitación")/>
986 <div ><img src="${SolosHabitacionImage[0]}" alt="${languageUtil.get(request,'infoasturias-solas-habitacion')}"/></div>
987 <span class="text-value">${languageUtil.get(request,'infoasturias-solas-habitacion')}</span>
988 <#else>
989 <#assign NoSolosHabitacionImage = assetCategoryTool.getImagesByVocabularyCategoryName(groupId, "Mascotas", "No se permite dejar el perro solo en la habitación")/>
990 <div><img src="${NoSolosHabitacionImage[0]}" alt="${languageUtil.get(request,'infoasturias-no-solas-habitacion')}"/></div>
991 <span class="text-value">${languageUtil.get(request,'infoasturias-no-solas-habitacion')}</span>
992 </#if>
993 </div>
994 </#if>
995 </div>
996 <div class="article-info-table">
997 <div class="mb-4 title-normas article-info-border">${languageUtil.get(request,'infoasturias-normas-mascotas')}</div>
998 <ul class="list-unstyled">
999 <#if AsturiasMascotas.AdmitePPP.data?has_content>
1000 <li class="fas d-block track">
1001 <#if AsturiasMascotas.AdmitePPP.getData() == "Si">
1002 <span class="text-rule">${languageUtil.get(request,'infoasturias-mascotas-ppp')}.</span>
1003 <#else>
1004 <span class="text-rule">${languageUtil.get(request,'infoasturias-mascotas-no-ppp')}.</span>
1005 </#if>
1006 </li>
1007 </#if>
1008 <#if AsturiasMascotas.ZonasComunes.data?has_content>
1009 <li class="fas d-block track">
1010 <#if AsturiasMascotas.ZonasComunes.getData() == "Si">
1011 <span class="text-rule">${languageUtil.get(request,'infoasturias-mascotas-zonas-comunes')}.</span>
1012 <#else>
1013 <span class="text-rule">${languageUtil.get(request,'infoasturias-mascotas-no-zonas-comunes')}.</span>
1014 </#if>
1015 </li>
1016 </#if>
1017 <#if AsturiasMascotas.Cama.data?has_content>
1018 <li class="fas d-block track">
1019 <#if AsturiasMascotas.Cama.getData() == "Si">
1020 <span class="text-rule">${languageUtil.get(request,'infoasturias-mascotas-cama')}.</span>
1021 <#else>
1022 <span class="text-rule">${languageUtil.get(request,'infoasturias-no-mascotas-cama')}.</span>
1023 </#if>
1024 </li>
1025 </#if>
1026 <#if AsturiasMascotas.Comedero.data?has_content>
1027 <li class="fas d-block track">
1028 <#if AsturiasMascotas.Comedero.getData() == "Si">
1029 <span class="text-rule">${languageUtil.get(request,'infoasturias-mascotas-comedero')}.</span>
1030 <#else>
1031 <span class="text-rule">${languageUtil.get(request,'infoasturias-mascotas-no-comedero')}.</span>
1032 </#if>
1033 </li>
1034 </#if>
1035 <#if AsturiasMascotas.Guarderia.data?has_content>
1036 <li class="fas d-block track">
1037 <#if AsturiasMascotas.Guarderia.getData() == "Si">
1038 <span class="text-rule">${languageUtil.get(request,'infoasturias-mascotas-guarderia')}.</span>
1039 <#else>
1040 <span class="text-rule">${languageUtil.get(request,'infoasturias-no-mascotas-guarderia')}.</span>
1041 </#if>
1042 </li>
1043 </#if>
1044 <#if OtrosAnimales ?? >
1045 <#if AsturiasMascotas.OtrasMascotas?? && AsturiasMascotas.OtrasMascotas.data?has_content || AsturiasMascotas.OtrosAnimales?? && AsturiasMascotas.OtrosAnimales.data?has_content>
1046 <li class="fas d-block track">
1047 <#if AsturiasMascotas.OtrasMascotas.getData() == "Si">
1048 <span class="text-rule">${languageUtil.get(request,'infoasturias-otras-mascotas')}:</span>
1049 <span class="text-rule">${AsturiasMascotas.OtrosAnimales.data}</span>
1050 <#else>
1051 <span class="text-rule">${languageUtil.get(request,'infoasturias-no-otras-mascotas')}</span>
1052 </#if>
1053 </li>
1054 </#if>
1055 </#if>
1056 <#if AsturiasMascotas.DetalleNormas.data?has_content>
1057 <div class="rules">
1058 <#assign iconSPAN = AsturiasMascotas.DetalleNormas.data?replace('<p>','<p><span class="fas"></span>')/>
1059 ${iconSPAN}
1060 </div>
1061 </#if>
1062 <#if AsturiasMascotas.PrecioSuplemento?? && AsturiasMascotas.PrecioSuplemento.data?has_content>
1063 <li class="fas d-block track mt-2">
1064 <span class="text-rule">${languageUtil.get(request,'infoasturias-mascotas-suplemento')}: ${AsturiasMascotas.PrecioSuplemento.data}€</span>
1065 </li>
1066 </#if>
1067 </ul>
1068 </div>
1069 </ul>
1070 </#if>
1071 </div>
1072 </div>
1073 <#assign showFirstTab = false>
1074 </#if>
1075
1076 </div>
1077 <div class="article-border">
1078 <#if Observaciones.Observacion.data?has_content>
1079 ${Observaciones.Observacion.data}
1080 </#if>
1081
1082 <#if stringUtil.matches(Observaciones.MasInformacion.data, "//") && Contacto.MasInformacion?? >
1083 <a class="" href="${Contacto.MasInformacion.data}" title="${languageUtil.format(request,'go-to-x', 'link')}">${Contacto.MasInformacion.data}
1084 <#else>
1085 <span class="">${Observaciones.MasInformacion.data}</span>
1086 </#if>
1087
1088 <#if OtrosDatos.DatosFacilitadosPor?has_content>
1089 <div>
1090 <span class="important mr-1">${languageUtil.get(request,'infoasturias-datos-facilitados-por')}:</span><span class="text-wrapper">${OtrosDatos.DatosFacilitadosPor.data}.</span>
1091 </div>
1092 </#if>
1093
1094 <#if CodigoDGT.data?has_content>
1095 <div>
1096 <span class="text-wrapper mr-1">${languageUtil.get(request,'infoasturias-establecimiento-inscrito-en-registro')} </span><span class="important">${CodigoDGT.data}.</span>
1097 </div>
1098 </#if>
1099 <div class="text-wrapper">${languageUtil.get(request,'infoasturias-precios-orientativos')}.</div>
1100 </div>
1101 <div class="row mt-5">
1102 <div class="col-xl-6 col-sm-6 col-xs-12 mb-3">
1103 <div class="text-center">
1104 <#if Contacto.Email.data?has_content>
1105 <a href="mailto:${Contacto.Email.data}?Subject=${title}:%20${languageUtil.get(request,'infoasturias-more-info')}" class="btn btn-default text-center text-uppercase">
1106 <span class="far fa-envelope mr-2">
1107 <span class="hide-accessible">${languageUtil.get(request,"email")}</span>
1108 </span>
1109 ${languageUtil.get(request,'infoasturias-more-info')}
1110 </a>
1111 </#if>
1112 </div>
1113 </div>
1114 <div class="col-xl-6 col-sm-6 col-xs-12">
1115 <div class="text-center">
1116 <#if showReservaButton>
1117 <div class="article-info-table-cell align-middle">
1118 <#if Contacto.Email.data?has_content>
1119 <#assign params = {"displayStyle":"ddmTemplate_441008","portletId": portletTool.getPortletId(request), "articleId":"${articleId}"}>
1120 <#assign portletURL = portletTool.createURL(request, "as_asac_adtvisor_portlet_AdtVisorDialogPortlet", themeDisplay.getPlid(), themeDisplay.getLifecycle(), "pop_up", params) />
1121 <button id="<@portlet.namespace/>availabilityRequestForm" type="button" class="btn btn-primary btn-small text-center text-uppercase" onclick="event.preventDefault(); showDialogIframe('${portletURL}','${languageUtil.get(request,'infoasturias-solicitud-reserva')}', '', '','formularioReserva', 'formularioReservaIframe');">
1122 <img src="/o/turismo-asturias-theme/images/icons/tickets.png" alt="${languageUtil.format(request,'go-to-x', 'infoasturias-reservar-ahora')}">
1123 ${languageUtil.get(request,'infoasturias-reservar-ahora')}
1124 </button>
1125 </#if>
1126
1127 <#if CodigoDGT.data?has_content>
1128 <#assign paramsMap = {"accommodationCode": CodigoDGT.data,"jspPage": "/html/results/accommodation/accommodation.jsp"} />
1129 <#assign bookingURL = portletTool.createURL(request, "as_asac_accommodationbooking_AccommodationBookingResultsPortlet", themeDisplay.getPlid(), themeDisplay.getLifecycle(), "pop_up", paramsMap) />
1130 <button id="<@portlet.namespace/>accommodationbookingRequestForm" type="button" class="btn btn-primary btn-small text-center text-uppercase hide" onclick="event.preventDefault(); showDialogIframe('${bookingURL}','${languageUtil.get(request,'infoasturias-solicitud-reserva')}', '800px', '','formularioReserva', 'formularioReservaIframe');">
1131 <img src="/o/turismo-asturias-theme/images/icons/tickets.png" alt="${languageUtil.format(request,'go-to-x', 'infoasturias-reservar-ahora')}">
1132 ${languageUtil.get(request,'infoasturias-reservar-ahora')}
1133 </button>
1134 </#if>
1135 </div>
1136 </#if>
1137 </div>
1138 </div>
1139 </div>
1140
1141 <#-- Related -->
1142 <#assign relatedJournalArticles = assetTool.getRelatedJournalArticlesApproved(assetEntry)/>
1143 <#if validator.isNotNull(relatedJournalArticles) && relatedJournalArticles?size gt 0>
1144 <div class="article-related portlet-background-grey-container">
1145 <div class="container">
1146 <h3 class="title-section">${languageUtil.get(request,'related-assets')}</h3>
1147 <div class="slick article-related-slick">
1148 <#list relatedJournalArticles as currentJournalArticle>
1149 <#assign viewURL = journalTool.getDisplayPage(currentJournalArticle, themeDisplay, true)/>
1150 <div class="slide">
1151 <a class="card background card-background-9-14" href="${viewURL}" title="${languageUtil.format(request, 'go-to-x', currentJournalArticle.getTitle(locale))}">
1152 <span class="d-block image-wrapper aspect-ratio-bg-cover" style="background-image: url('${currentJournalArticle.getSmallImageURL()}');">
1153 <img class="hide-accessible" src="${currentJournalArticle.getSmallImageURL()}" alt="${currentJournalArticle.getTitle(locale)}">
1154 <span class="card-body">
1155 <span class="card-title">${currentJournalArticle.getTitle(locale)}</span>
1156 </span>
1157 </span>
1158 </a>
1159 </div>
1160 </#list>
1161 </div>
1162 </div>
1163 </div>
1164 </#if>
1165
1166 <#-- Nearby -->
1167 <#assign classTypeIds = [598853,582814,584415,625593,623117,609431,593783]>
1168 <#assign assetsNearJournalArticles = assetNearTool.getNearJournalArticles(themeDisplay.getScopeGroupId(), assetEntry.getEntryId(), 50.0, classTypeIds, 25)! />
1169 <#if validator.isNotNull(assetsNearJournalArticles) && assetsNearJournalArticles?size gt 0>
1170 <div class="article-nearby portlet-container-margin">
1171 <div class="container">
1172 <div class="article-nearby-container">
1173 <h3 class="title-section">${languageUtil.get(request,'infoasturias-near-here')}</h3>
1174 <div class="slick article-nearby-slick">
1175 <#list assetsNearJournalArticles as currentJournalArticle>
1176 <#assign viewURL = journalTool.getDisplayPage(currentJournalArticle, themeDisplay, true)/>
1177 <div class="slide">
1178 <a class="card" href="${viewURL}" title="${languageUtil.format(request, 'go-to-x', currentJournalArticle.getTitle(locale))}">
1179 <span class="d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3" style="background-image: url('${currentJournalArticle.getSmallImageURL()}');">
1180 <img class="hide-accessible" src="${currentJournalArticle.getSmallImageURL()}" alt="${currentJournalArticle.getTitle(locale)}">
1181 <span class="card-hover">
1182 <span class="card-text">${currentJournalArticle.getDescription(locale)}</span>
1183 </span>
1184 </span>
1185 <span class="card-body">
1186 <span class="card-title">${currentJournalArticle.getTitle(locale)}</span>
1187 <span class="card-subtitle">
1188 <span class="d-block">${currentJournalArticle.getVersion()} Kms</span>
1189 <span class="d-block">${journalTool.getCategoriesNames(groupId, currentJournalArticle.getArticleId(), locale, ["Concejos"])}</span>
1190 </span>
1191 </span>
1192 </a>
1193 </div>
1194 </#list>
1195 </div>
1196 </div>
1197 </div>
1198 </div>
1199 </#if>
1200
1201
1202</article>
1203<#assign params = {}>
1204<#assign resourceURL = portletTool.createURL(request, "as_asac_accommodationbooking_AccommodationBookingSearchPortlet", themeDisplay.getPlid(), "RESOURCE_PHASE", "normal", params) />
1205<#assign resourceURL = httpUtil.addParameter(resourceURL,"p_p_resource_id","hasCentralReservation") />
1206<@liferay_aui["script"] use="aui-base,liferay-portlet-url,aui-io-request-deprecated,aui-io-plugin-deprecated">
1207
1208 Liferay.provide(window,'<@portlet.namespace/>refreshPortlet', function(uri) {
1209 location.href = uri;
1210 });
1211
1212 //Button AccommodationBookingSearchPortlet
1213 A.io.request('${resourceURL}', {
1214 data: {
1215 _as_asac_accommodationbooking_AccommodationBookingSearchPortlet_articleId: "${articleId}"
1216 },
1217 dataType: 'JSON',
1218 method: 'GET',
1219 on: {
1220 success: function(){
1221 var response = this.get("responseData");
1222 var aniadido = parseInt(response.results);
1223
1224 var availabilityRequestForm = A.one('#<@portlet.namespace/>availabilityRequestForm');
1225 var accommodationbookingRequestForm = A.one('#<@portlet.namespace/>accommodationbookingRequestForm');
1226
1227 //DEBUG
1228 //console.log('aniadido: ' + aniadido);
1229 //console.log(availabilityRequestForm);
1230 //console.log(accommodationbookingRequestForm);
1231
1232 if(aniadido>0){
1233 //console.log('TRUE');
1234 if(availabilityRequestForm)
1235 availabilityRequestForm.hide();
1236 if(accommodationbookingRequestForm)
1237 accommodationbookingRequestForm.show();
1238 }
1239 },
1240 error: function(){
1241 console.log('Error');
1242 }
1243 }
1244 });
1245
1246 //Show as_asac_accommodationbooking_AccommodationBookingResultsPortlet
1247 <#if validator.isNotNull(cmd) && cmd == "search" >
1248
1249 /*Function that load de accommodation offers especified on the url*/
1250 function loadAccommodationOffers(){
1251 var href = "${roomsURL}";
1252 console.log("loadAccommodationOffers");
1253 console.log(href);
1254 var node = A.one('#bookings-${articleId}');
1255 if(node){
1256 console.log("io-request");
1257 node.show();
1258 node.plug(A.Plugin.IO, {
1259 showLoading: true,
1260 method: 'GET',
1261 uri: href
1262 });
1263 }
1264
1265 }
1266 loadAccommodationOffers();
1267 </#if>
1268
1269</@>