1<#-- Cargamos la template TemplateGoToURL -->
2<#assign classLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") />
3<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") />
4<#assign group = groupLocalService.fetchFriendlyURLGroup(themeDisplay.getCompanyId(), "/global") />
5<#assign classNameId = classLocalService.getClassName("com.liferay.dynamic.data.mapping.model.DDMStructure").getClassNameId() />
6<#include "_TEMPLATE_CONTEXT_/${themeDisplay.getCompanyId()}/${group.getGroupId()}/${classNameId}/57893" />
7<#assign lopesan360Service = serviceLocator.findService("com.lopesan.common.api.services.Lopesan360Service") />
8<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
9<#assign dlAppService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService") />
10
11<#if hotel?? && hotel.getData()?has_content && hotel.getData()!="">
12 <#assign webContentData = jsonFactoryUtil.createJSONObject(hotel.getData())/>
13 <#assign latestArticle = journalArticleLocalService.fetchLatestArticle(webContentData.classPK?number) />
14 <#assign docXml = saxReaderUtil.read(latestArticle.getContentByLocale(themeDisplay.getLocale())) />
15 <#assign nombre = docXml.valueOf("//dynamic-element[@field-reference='Nombre']/dynamic-content/text()") />
16 <#assign enlacePagina = docXml.valueOf("//dynamic-element[@field-reference='EnlacePagina']/dynamic-content/text()") />
17 <#assign estrellas = lopesan360Service.getHomeHotel(themeDisplay.getScopeGroupId(), latestArticle.getArticleId()).get("estrellas") />
18</#if>
19
20<section class="cabecera">
21<#if banners.getSiblings()?has_content>
22 <div id="carouselCabecera" class="carousel slide" data-interval="4000" data-ride="carousel">
23 <#if (banners.getSiblings()?size > 1)>
24 <ol class="carousel-indicators indicadores indicadores-blancos d-inline-flex mb-0">
25 <#list banners.getSiblings() as banner>
26 <li data-target="#carouselCabecera" data-slide-to="${banner?index}" class="${(banner?is_first)?then('active','')}">
27 </#list>
28 </ol>
29 </#if>
30 <#if (banners.getSiblings()?size > 1)>
31 <button class="carousel-control-prev control-cabecera d-lg-inline-flex d-xl-inline-flex p-x-10" type="button" data-target="#carouselCabecera" data-slide="prev">
32 <svg width="18" height="11" viewBox="0 0 18 11" fill="none" xmlns="http://www.w3.org/2000/svg">
33 <path d="M5.76003 10.8858L6.48801 10.1667L2.45215 6.13614H17.3333V5.10631H14.7776H2.45215L6.48801 0.714222L5.76003 -0.00488281L0.499023 5.62123L5.76003 10.8858Z" fill="white"/>
34 </svg>
35 <span class="sr-only">Previous</span>
36 </button>
37 <button class="carousel-control-next control-cabecera d-lg-inline-flex d-xl-inline-flex p-x-10" type="button" data-target="#carouselCabecera" data-slide="next">
38 <svg width="18" height="12" viewBox="0 0 18 12" fill="none" xmlns="http://www.w3.org/2000/svg">
39 <path d="M12.0893 11.1642L11.3513 10.4039L15.5197 6.47192H0.666504V5.38303H15.5197L11.3513 1.04123L12.0893 0.280884L17.4998 5.92748L12.0893 11.1642Z" fill="white"/>
40 </svg>
41 <span class="sr-only">Next</span>
42 </button>
43 </#if>
44
45 <div class="carousel-inner">
46 <#list banners.getSiblings() as banner>
47 <#assign gotoUrl=getURLEnlace(banner.enlaces)>
48 <#if banner?is_first>
49 <div class="carousel-item active">
50 <#else>
51 <div class="carousel-item">
52 </#if>
53 <div class="slide row align-items-start">
54 <#if (banner.Video.getData())?? && banner.Video.getData() != "">
55 <video class="imageback videoback" src="${banner.Video.getData()}" ${languageUtil.format(locale, "download-x", "Video", false)} autoplay="true" muted="true" loop="true">
56 <source class="imageback" src="${banner.Video.getData()}" media="(max-width: 992px)"/>
57 </video>
58 <#else>
59 <@adaptive_media_image["img"] class="imageback" fileVersion=dlAppService.getFileEntry(banner.ImagenDesktop.getAttribute("fileEntryId")?number).getFileVersion() alt="${banner.ImagenDesktop.getAttribute('alt')}" loading="lazy" />
60 </#if>
61 <div class="col-11 ml-3 ml-lg-5 p-0">
62 <div class="row cabecera-align m-yt-50">
63 <#if hotel?? && hotel.getData()?has_content && hotel.getData()!="">
64 <ul class="col-12 p-0 mb-0 mb-lg-3 d-flex align-items-center list-unstyled cabecera-destinos">
65 <#list enlacePagina?keep_after("Hoteles > ")?keep_before("id")?split('>')?reverse as elem>
66 <#if elem?is_first>
67 <#else>
68 <li><a href="javascript:void(0)" class="text-uppercase"> ${elem}</a></li>
69 </#if>
70 </#list>
71 </ul>
72 <section class="col-12 p-0 d-flex flex-column flex-lg-row align-items-lg-center">
73 <h2 class="cabecera-hotel fuente-titulos text-uppercase mb-0 mr-0 mr-lg-3">${nombre}</h2>
74 <section class="d-flex align-items-center">
75 <#list 1..estrellas?number as estrella>
76 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
77 <path
78 d="M14.5314 6.44621L9.73577 6.13566L7.92971 1.6665L6.12365 6.13566L1.33325 6.44621L5.00745 9.51914L3.80177 14.1806L7.92971 11.6105L12.0577 14.1806L10.852 9.51914L14.5314 6.44621Z"
79 fill="white" />
80 </svg>
81 </#list>
82 </section>
83 </section>
84 </#if>
85 <#if (banner.Subtitulo.getData())??>
86 <section class="col-12 p-0">
87 <#if hotel?? && hotel.getData()?has_content && hotel.getData()!="">
88 <h2 class="galeria-cabecera-titulo fuente-titulos text-uppercase text-center text-lg-left">${banners.Subtitulo.getData()}</h2>
89 <#else>
90 <h2 class="cabecera-hotel fuente-titulos text-uppercase mb-0 mr-0 mr-lg-3">${banners.Subtitulo.getData()}</h2>
91 </#if>
92 </section>
93 </#if>
94 </div>
95 </div>
96 </div>
97 </div>
98</#list>
99</div>
100</div>
101</#if>
102</section>