Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> destination.maxTemp  [in template "20115#20151#DESTINATION-DETAIL-HERO-1.0.0" at line 28, column 45]

----
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: ${destination.maxTemp}  [in template "20115#20151#DESTINATION-DETAIL-HERO-1.0.0" at line 28, column 43]
----
1<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
2<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
3<#include "${fullTemplatesPath}/utils/dictionary.ftl"> 
4<#include "${fullTemplatesPath}/utils/constants.ftl"> 
5<#include "${fullTemplatesPath}/utils/api-destinations.ftl"> 
6<#include "${fullTemplatesPath}/utils/media-links.ftl"> 
7<#assign destinationData = getDestinationByCode(DestinationCode.getData(), BrandCode.getData())> 
8 
9<#if destinationData?has_content> 
10    <#assign destination = destinationData[0] /> 
11    <#assign desktopImage = getDestinationHeroImage(destinationData[0].mediaLinks) /> 
12    <#assign mobileImage = getDestinationHeroImageXS(destinationData[0].mediaLinks) /> 
13</#if> 
14 
15 
16  <!-- partial: component/block/destination-hero/destination-hero.hbs --> 
17      <section class="destination-hero content-spacing is-hidden" data-component="destination-hero" data-scroll-component> 
18        <div class="content-wrapper"> 
19          <div class="title-wrapper"> 
20            <span class="overline-type caption">${_OUR_DESTINATION[locale]}</span> 
21            <h2 class="heading-2 title">${destination.name}</h2> 
22          </div> 
23 
24          <div class="detail-wrapper"> 
25            <div class="wheather-wrapper"> 
26              <span class="city-wheather">${_NOW_IN[locale]} ${destination.name}</span> 
27              <div class="wheather"> 
28                <span class="temperature">${destination.maxTemp}ºC</span> 
29 
30                <!-- partial: component/general/icon/icon.hbs --> 
31                <span class="icon weather-icon" data-component="icon" data-icon="weather-${destination.weatherSymbol}"></span> 
32                <!-- / component/general/icon/icon.hbs --> 
33 
34              </div> 
35            </div> 
36 
37 
38            <!-- partial: component/general/cta-link/cta-link.hbs --> 
39             <a href="#" class="cta-link outlined " title="Ver mapa del destino" data-component="cta-link"> 
40              <span class=" copy">${_VIEW_DESTINATION_MAP[locale]}</span> 
41 
42 
43            <div class="button-arrow direction-right size-small outlined " 
44              data-component="button-arrow"> 
45            <span class="icon circle-hover-icon" data-component="icon" data-icon="circle"></span> 
46            <span class="icon circle-icon" data-component="icon" data-icon="circle"></span> 
47              <div class="chevron-wrapper"> 
48            <span class="icon chevron-icon" data-component="icon" data-icon="chevron-right"></span> 
49 
50              </div> 
51            </div> 
52 
53            </a> 
54 
55          </div> 
56        </div> 
57        <div class="picture-wrapper"> 
58 
59          <!-- partial: component/general/picture/picture.hbs --> 
60          <picture class="main-visual" data-component="picture"> 
61            <source media="(min-width: 1440px)" srcset="${desktopImage}"> 
62            <source media="(min-width: 768px)" srcset="${desktopImage}"> 
63            <img class="visual" src="${mobileImage}" alt="${destination.name}"> 
64          </picture> 
65          <!-- / component/general/picture/picture.hbs --> 
66        </div> 
67      </section> 
Se ha producido un error al procesar la plantilla.
?substring(...) argument #2 had invalid value: The index must be at least 0, but was -1.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${description?substring(0, limit)}  [in template "20115#20151#HOTEL-INFO-SLIDER-TEMPLATE-1.0.0" at line 51, column 40]
----
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 = getHotelsByBrandAndCity(BrandCode.getData(), DestinationCode.getData()) > 
11 
12<!-- partial: component/block/hotel-info-slider-module/hotel-info-slider-module.hbs --> 
13<#if dataHotels?has_content> 
14      <section class="hotel-info-slider-module content-spacing is-hidden" data-component="hotel-info-slider-module" data-scroll-component> 
15 
16        <ol class="hotel-list" data-visual-carousel> 
17          <#list dataHotels as hotel> 
18                <#assign imageLarge = getHotelHeroImage(hotel.mediaLinks)> 
19                <#assign imageSmall = getHotelHeroImageXS(hotel.mediaLinks)> 
20                 <#assign description = removeHtml(hotel.shortDescription) /> 
21                <#assign limit = 160/> 
22                <#if limit gt description?length> 
23                    <#assign limit = description?length - 1/> 
24                </#if> 
25 
26          <li class="hotel-item" data-visual-item> 
27            <div class="content-wrapper hotel"> 
28              <div class="title-wrapper-mobile"> 
29                <span class="overline-type">${_HOTELS_FROM[locale]}</span> 
30                <h2 class="heading-3 title"> 
31                  ${removeBrandName(hotel.name)} 
32                </h2> 
33              </div> 
34              <div class="visual-wrapper" data-visual-wrapper> 
35 
36                <!-- partial: component/general/picture/picture.hbs --> 
37                <picture class="main-visual" data-component="picture"> 
38                  <source media="(min-width: 768px)" srcset="${imageLarge}"> 
39                  <img class="visual" src="${imageSmall}" alt="${hotel.name}"> 
40                </picture> 
41                <!-- / component/general/picture/picture.hbs --> 
42              </div> 
43              <div class="copy-wrapper"> 
44                <div class="title-wrapper-desktop"> 
45                  <span class="overline-type">${_HOTELS_FROM[locale]}</span> 
46                  <h2 class="heading-3 title"> 
47                    <span>${removeBrandName(hotel.name)}</span> 
48                  </h2> 
49                </div> 
50 
51                <p class="copy-1 copy">${description?substring(0,limit)}...</p> 
52 
53                <div class="price-button-wrapper"> 
54 
55                  <!-- partial: component/general/from-price/from-price.hbs --> 
56                  <div class="from-price price-size-" data-component="from-price"> 
57                    <span class="from-copy detail-type">${_STARTING_FROM[locale]}</span> 
58                    <div class="price-wrapper"> 
59                      <span class="price-copy">${hotel.startingFromHotel}</span> 
60                      <span class="currency-copy detail-type">${_CURRENCY[locale]}</span> 
61                    </div> 
62                  </div> 
63                  <!-- / component/general/from-price/from-price.hbs --> 
64 
65                  <!-- partial: component/general/cta-button/cta-button.hbs --> 
66                  <@cta.button text="${_LEARN_MORE[locale]}" url=getHotelUrl(hotelData.friendlyUrlHotel) class="primary"/> 
67                  <!-- / component/general/cta-button/cta-button.hbs --> 
68                </div> 
69              </div> 
70            </div> 
71          </li> 
72          </#list> 
73        </ol> 
74 
75        <div class="content-wrapper"> 
76          <div class="controls-pagination-wrapper"> 
77            <div class="progress"> 
78              <div class="progress-bar" data-progress-bar></div> 
79            </div> 
80            <div class="counter-controls-wrapper"> 
81              <div class="counter-wrapper"> 
82                <div class="counter"> 
83                  <span class="counter-number current" data-counter-current>01</span> 
84                  <span class="counter-number total" data-counter-total>02</span> 
85                </div> 
86              </div> 
87              <div class="controls-wrapper"> 
88                <div class="button" data-button-previous> 
89 
90                  <!-- partial: component/general/button-arrow/button-arrow.hbs --> 
91                  <div class="button-arrow direction-left size-big outlined " data-component="button-arrow"> 
92 
93                    <!-- partial: component/general/icon/icon.hbs --> 
94                    <span class="icon circle-hover-icon" data-component="icon" data-icon="circle"></span> 
95                    <!-- / component/general/icon/icon.hbs --> 
96 
97                    <!-- partial: component/general/icon/icon.hbs --> 
98                    <span class="icon circle-icon" data-component="icon" data-icon="circle"></span> 
99                    <!-- / component/general/icon/icon.hbs --> 
100                    <div class="chevron-wrapper"> 
101 
102                      <!-- partial: component/general/icon/icon.hbs --> 
103                      <span class="icon chevron-icon" data-component="icon" data-icon="chevron-right"></span> 
104                      <!-- / component/general/icon/icon.hbs --> 
105                    </div> 
106                  </div> 
107                  <!-- / component/general/button-arrow/button-arrow.hbs --> 
108                </div> 
109                <div class="button" data-button-next> 
110 
111                  <!-- partial: component/general/button-arrow/button-arrow.hbs --> 
112                  <div class="button-arrow direction-right size-big outlined " data-component="button-arrow"> 
113 
114                    <!-- partial: component/general/icon/icon.hbs --> 
115                    <span class="icon circle-hover-icon" data-component="icon" data-icon="circle"></span> 
116                    <!-- / component/general/icon/icon.hbs --> 
117 
118                    <!-- partial: component/general/icon/icon.hbs --> 
119                    <span class="icon circle-icon" data-component="icon" data-icon="circle"></span> 
120                    <!-- / component/general/icon/icon.hbs --> 
121                    <div class="chevron-wrapper"> 
122 
123                      <!-- partial: component/general/icon/icon.hbs --> 
124                      <span class="icon chevron-icon" data-component="icon" data-icon="chevron-right"></span> 
125                      <!-- / component/general/icon/icon.hbs --> 
126                    </div> 
127                  </div> 
128                  <!-- / component/general/button-arrow/button-arrow.hbs --> 
129                </div> 
130              </div> 
131            </div> 
132          </div> 
133        </div> 
134 
135        <div class="bullets-wrapper"> 
136 
137          <!-- partial: component/general/bullets/bullets.hbs --> 
138          <ol class="bullet-list" data-bullet-list data-component="bullets"> 
139          <#list dataHotels as hotel> 
140            <li class="bullet" data-bullet> 
141              <span class="icon"></span> 
142            </li> 
143            </#list> 
144          </ol> 
145          <!-- / component/general/bullets/bullets.hbs --> 
146        </div> 
147      </section> 
148      <!-- / component/block/hotel-info-slider-module/hotel-info-slider-module.hbs --> 
149<#else> 
150    <h1>ERROR: hotel-info-slider no encontró hoteles asignados a la Marca ${BrandCode.getData()} y destino ${DestinationCode.getData()}</h1> 
151</#if>