Nuestros destinos
Ciudad de México
Ahora en Ciudad de México
Ver mapa del destino
30ºC

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> hotel.name [in template "20115#20151#HOTEL-SUGGESTION-MODULE-TEMPLATE-1.0.0" at line 35, column 70] ---- 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 be 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: ${hotel.name} [in template "20115#20151#HOTEL-SUGGESTION-MODULE-TEMPLATE-1.0.0" at line 35, column 68] ----
1<#import "${fullTemplatesPath}/shared/cta-button.ftl" as cta>
2
3<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
4<#assign themeDisplay = serviceContext.getThemeDisplay() />
5<#include "${fullTemplatesPath}/utils/api-hotels.ftl">
6<#include "${fullTemplatesPath}/utils/dictionary.ftl">
7<#include "${fullTemplatesPath}/utils/general.ftl">
8<#include "${fullTemplatesPath}/utils/media-links.ftl">
9<#include "${fullTemplatesPath}/utils/url.ftl">
10<#assign dataHotels = getHotelsByBrand(BrandCode.getData())>
11
12<!--@TODO: ADD LIMIT TO QUERY -->
13 <!-- partial: component/block/hotel-suggestion-module/hotel-suggestion-module.hbs -->
14 <#if dataHotels?has_content>
15 <div class="hotel-suggestion-module content-spacing" data-component="hotel-suggestion-module">
16 <div class="wrapper">
17
18 <div class="title-wrapper">
19 <div class="content-wrapper">
20 <h2 class="title">${_SIMILAR_OPTIONS[locale]}</h2>
21 </div>
22 </div>
23
24 <div class="layout-wrapper">
25 <div class="visual-wrapper">
26 <div class="content-wrapper">
27 <ol class="visual-list" data-visual-carousel>
28 <#list dataHotels as hotel>
29 <#assign imageLarge = getHotelHeroImage(hotel.mediaLinks)>
30 <#assign imageSmall = getHotelHeroImageXS(hotel.mediaLinks)>
31 <li class="visual-item" data-visual-item>
32 <!-- partial: component/general/picture/picture.hbs -->
33 <picture class="main-visual" data-component="picture">
34 <source media="(min-width: 768px)" srcset="${imageLarge}">
35 <img class="visual" src="${imageSmall}" alt="${hotel.name}">
36 </picture>
37 <!-- / component/general/picture/picture.hbs -->
38 </li>
39 </#list>
40 </ol>
41 </div>
42 </div>
43
44 <div class="copy-carousel-wrapper" data-carousel-wrapper>
45 <ol class="copy-list" data-carousel-list>
46 <#list dataHotels as hotelData>
47
48 <li class="copy-item" data-carousel-item>
49 <div class="content-wrapper">
50 <div class="offset-wrapper">
51 <div class="copy-wrapper">
52 <h3 class="heading heading-5" data-heading>${hotelData.name}</h3>
53 <p class="copy copy-1" data-copy>
54 <#assign description = removeHtml(hotelData.shortDescription) />
55 <#assign limit = 400/>
56 <#assign trunk = false>
57 <#if limit gt description?length>
58 ${description}
59 <#else>
60 ${description?substring(0,limit)}...
61 </#if>
62 </p>
63 <!-- partial: component/general/cta-button/cta-button.hbs -->
64 <@cta.button text="${_LEARN_MORE[locale]}" url=getHotelUrl(hotelData.friendlyUrlHotel) class="primary is-outline"/>
65 <!-- / component/general/cta-button/cta-button.hbs -->
66 </div>
67 </div>
68 </div>
69 </li>
70 </#list>
71 </ol>
72 </div>
73 </div>
74
75 <div class="nav-hotel-wrapper content-wrapper">
76 <div class="nav-hotel">
77 <div class="carousel-counter">
78 <div class="counter-wrapper">
79 <div class="wrapper">
80 <div class="counter">
81 <span class="counter-number current" data-counter-current>01</span>
82 <span class="counter-number total" data-counter-total>05</span>
83 </div>
84 <span class="progress" data-progress></span>
85 </div>
86 </div>
87 </div>
88
89 <div class="controls-wrapper">
90 <div class="button" data-button-previous>
91
92 <!-- partial: component/general/button-arrow/button-arrow.hbs -->
93 <div class="button-arrow direction-left size-big outlined " data-component="button-arrow">
94
95 <!-- partial: component/general/icon/icon.hbs -->
96 <span class="icon circle-hover-icon" data-component="icon" data-icon="circle"></span>
97 <!-- / component/general/icon/icon.hbs -->
98
99 <!-- partial: component/general/icon/icon.hbs -->
100 <span class="icon circle-icon" data-component="icon" data-icon="circle"></span>
101 <!-- / component/general/icon/icon.hbs -->
102 <div class="chevron-wrapper">
103
104 <!-- partial: component/general/icon/icon.hbs -->
105 <span class="icon chevron-icon" data-component="icon" data-icon="chevron-right"></span>
106 <!-- / component/general/icon/icon.hbs -->
107 </div>
108 </div>
109 <!-- / component/general/button-arrow/button-arrow.hbs -->
110 </div>
111 <div class="button" data-button-next>
112
113 <!-- partial: component/general/button-arrow/button-arrow.hbs -->
114 <div class="button-arrow direction-right size-big outlined " data-component="button-arrow">
115
116 <!-- partial: component/general/icon/icon.hbs -->
117 <span class="icon circle-hover-icon" data-component="icon" data-icon="circle"></span>
118 <!-- / component/general/icon/icon.hbs -->
119
120 <!-- partial: component/general/icon/icon.hbs -->
121 <span class="icon circle-icon" data-component="icon" data-icon="circle"></span>
122 <!-- / component/general/icon/icon.hbs -->
123 <div class="chevron-wrapper">
124
125 <!-- partial: component/general/icon/icon.hbs -->
126 <span class="icon chevron-icon" data-component="icon" data-icon="chevron-right"></span>
127 <!-- / component/general/icon/icon.hbs -->
128 </div>
129 </div>
130 <!-- / component/general/button-arrow/button-arrow.hbs -->
131 </div>
132 </div>
133 </div>
134 </div>
135
136 <div class="bullets-wrapper" style="position: relative; text-align: center; margin-top: 2rem;">
137
138 <!-- partial: component/general/bullets/bullets.hbs -->
139 <ol class="bullet-list" data-bullet-list data-component="bullets">
140 <#list dataHotels as hotel>
141 <li class="bullet" data-bullet>
142 <span class="icon"></span>
143 </li>
144 </#list>
145 </ol>
146 <!-- / component/general/bullets/bullets.hbs -->
147 </div>
148 </div>
149 </div>
150 <!-- / component/block/hotel-suggestion-module/hotel-suggestion-module.hbs -->
151</#if>