Errorea gertatu da txantiloia prozesatzerakoan.
Failed to get value for key "com.liferay.portal.util.PortalUtil"; see cause exception. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign PortalUtil = staticUtil["com... [in template "20907#20945#718733" at line 1, column 1] ----
1<#assign PortalUtil = staticUtil["com.liferay.portal.util.PortalUtil"] />
2<#assign serviceContext = staticUtil["com.liferay.portal.service.ServiceContextThreadLocal"].getServiceContext()>
3<#assign httpServletRequest = serviceContext.getRequest()>
4<#assign portalURL = httpUtil.getProtocol(request['attributes']['CURRENT_URL']) + "://" + getterUtil.getString(request['theme-display']['portal-url']) />
5<#assign mainPath = getterUtil.getString(request['theme-display']['path-main']) />
6
7<#assign themeDisplay = objectUtil("com.liferay.portal.theme.ThemeDisplay") />
8<#assign V = themeDisplay.setPathImage(getterUtil.getString(request['theme-display']['path-image'])) />
9<#assign V = themeDisplay.setPathMain(getterUtil.getString(request['theme-display']['path-main'])) />
10<#assign V = themeDisplay.setPortalURL(portalURL) />
11<#assign V = themeDisplay.setPermissionChecker(permissionChecker) />
12<#assign V = themeDisplay.setScopeGroupId(getterUtil.getLong(request['theme-display']['scope-group-id'])) />
13<#if .vars['keywords']??>
14 <#assign kWords = .vars['keywords'].getData()>
15<#else>
16 <#assign kWords = "">
17</#if>
18${PortalUtil.addPageKeywords(kWords, httpServletRequest)}
19
20<#include "${templatesPath}/1980550" />
21
22<#assign categoryCategories = ["1", "2", "3", "4", "5", "P", "S", "T"] />
23<#assign categories_str = ["*", "**", "***", "****", "*****", "Lehena", "Bigarrena", "Hirugarrena"] />
24<#if locale.getLanguage() == "es" >
25 <#assign categories_str = ["*", "**", "***", "****", "*****", "Primera", "Segunda", "Tercera"] />
26<#elseif locale.getLanguage() == "en" >
27 <#assign categories_str = ["*", "**", "***", "****", "*****", "First", "Second", "Third"] />
28<#elseif locale.getLanguage() == "fr" >
29 <#assign categories_str = ["*", "**", "***", "****", "*****", "Première", "Deuxième", "Troisième"] />
30</#if>
31
32<#assign journalArticleResourceLocalServiceUtil = staticUtil["com.liferay.portlet.journal.service.JournalArticleResourceLocalServiceUtil"]>
33<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")>
34<#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.portlet.asset.service.AssetCategoryLocalServiceUtil"]>
35
36<#assign cabecera = "" >
37<#assign journalArticleId = .vars['reserved-article-id'].data >
38<#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/>
39<#assign categoryList = assetCategoryLocalServiceUtil.getCategories("com.liferay.portlet.journal.model.JournalArticle",articleResourcePK) >
40<#assign nombreLocalidad = ''>
41<#assign accomodationType = ''>
42<#assign accomodationCategory = ''>
43<#if categoryList?has_content>
44 <#list categoryList as cat>
45 <#if vocabularyTowns == cat.getVocabularyId()?string>
46 <#assign nombreLocalidad = cat.getTitle(locale)>
47 </#if>
48 <#if cat.getParentCategoryId() == getterUtil.getLong(categoryCategory)>
49 <#assign accomodationType = cat.getCategoryId()?string>
50 </#if>
51 <#if cat.getParentCategoryId() == getterUtil.getLong(categoryCategory)>
52 <#assign cont = 0 >
53 <#list categoryCategories as category>
54 <#if cat.getTitle(locale) == category>
55 <#assign accomodationCategory = categories_str[cont]>
56 </#if>
57 <#assign cont = cont+1 >
58 </#list>
59 </#if>
60 </#list>
61</#if>
62
63<section itemscope itemtype="http://schema.org/Hotel">
64 <div class="relative flex flex-wrap-reverse overflow-hidden">
65 <div class="w-100 absolute relative-ns top-0 z-max">
66 <div class="ph3 ph5-ns relative z-max">
67 <div class="mw9 center relative">
68 <div class="pt4">
69 <div class="slider-footer flex justify-between justify-start-ns">
70 <div class="pb5 ph5-ns w-100 flex">
71 <div class="ml-auto ml0-ns flex">
72 <div class="slider-button-prev pointer mr3 mr4-ns"><span class="ico-arrow-left db"></span><span class="clip">Anterior</span></div>
73 <div class="slider-button-next pointer ml3 ml4-ns"><span class="ico-arrow-right db"></span><span class="clip">Siguiente</span></div>
74 </div>
75 </div>
76 </div>
77 </div>
78 </div>
79 </div>
80 </div>
81 <div class="simple-slider-100vh flex-ns w-100">
82 <div class="simple-slider w-100 w-75-ns relative">
83 <#if images.getSiblings()?has_content>
84 <div class="swiper-wrapper">
85 <#list images.getSiblings() as cur_item>
86 <div class="swiper-slide relative">
87 <img src="${cur_item.getData()}" class="db w-100 h-100 of-cover" alt="" itemprop="photo">
88 <span class="white-gradient-ltr absolute absolute--fill z-999 o-50"></span>
89 </div>
90 </#list>
91 </div>
92 </#if>
93 <div class="main-title absolute bottom-0 left-0 rotate--180 z-999 ph3 ph5-ns nb3">
94 <div class="h5">
95 <h1 class="fw7 f2 f-5-ns ma0"><span itemprop="name">${name.getData()}</span>${accomodationCategory}</h1>
96 </div>
97 </div>
98 </div>
99 <div class="w-100 w-25-ns bg-dark-blue white flex-ns flex-column flex-column-reverse relative z-999-ns">
100 <div class="h-auto relative z-999">
101 <div class="pa4 lh-copy f5">
102 <div class="mb3" itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
103 ${address.getData()} <span itemprop="addressLocality">${nombreLocalidad}</span>
104 </div>
105 <div><span itemprop="telephone" content="+34${telephone.getData()}">${telephone.getData()}</span></div>
106 <#if email.getData()?has_content>
107 <div class="mb3">
108 <a href="mailto:${email.getData()}" itemprop="email" class="link white">${email.getData()}</a>
109 </div>
110 </#if>
111 </div>
112 </div>
113 <div class="bg-yellow h-100 relative">
114 <div id="map" class="w-100 h-100"></div>
115 <script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB2KTr5g5u7QYIOX5NyMexHFcrpdX7McUY&callback=initMap"></script>
116 <script>
117 function initMap() {
118 var myLatLng = {lat: ${latitude.getData()}, lng: ${longitude.getData()}};
119
120 var map = new google.maps.Map(document.getElementById('map'), {
121 zoom: 16,
122 center: myLatLng,
123 disableDefaultUI: true,
124 styles: [
125 {
126 "featureType": "administrative",
127 "elementType": "labels.text.fill",
128 "stylers": [
129 {
130 "color": "#444444"
131 }
132 ]
133 },
134 {
135 "featureType": "landscape",
136 "elementType": "all",
137 "stylers": [
138 {
139 "color": "#f2f2f2"
140 }
141 ]
142 },
143 {
144 "featureType": "poi",
145 "elementType": "all",
146 "stylers": [
147 {
148 "visibility": "off"
149 }
150 ]
151 },
152 {
153 "featureType": "road",
154 "elementType": "all",
155 "stylers": [
156 {
157 "saturation": -100
158 },
159 {
160 "lightness": 45
161 }
162 ]
163 },
164 {
165 "featureType": "road.highway",
166 "elementType": "all",
167 "stylers": [
168 {
169 "visibility": "simplified"
170 }
171 ]
172 },
173 {
174 "featureType": "road.arterial",
175 "elementType": "labels.icon",
176 "stylers": [
177 {
178 "visibility": "off"
179 }
180 ]
181 },
182 {
183 "featureType": "transit",
184 "elementType": "all",
185 "stylers": [
186 {
187 "visibility": "off"
188 }
189 ]
190 },
191 {
192 "featureType": "water",
193 "elementType": "all",
194 "stylers": [
195 {
196 "color": "#ffffff"
197 },
198 {
199 "visibility": "on"
200 }
201 ]
202 }
203 ]
204 });
205
206 var marker = new google.maps.Marker({
207 position: myLatLng,
208 map: map,
209 title: '${name.getData()}',
210 icon: {
211 path: google.maps.SymbolPath.CIRCLE,
212 scale: 8.5,
213 fillColor: "#000",
214 fillOpacity: 1,
215 strokeWeight: 1
216 },
217 });
218 }
219 </script>
220 </div>
221 </div>
222
223 </div>
224 </div> <!--/ #billboard -->
225
226 <div class="ph3 ph5-ns mb5">
227 <div class="mw9 center">
228 <div class="flex-ns">
229 <div class="mw8 f5 f3-ns fw7 lh-copy-2 pv4 pr5-ns">
230 <span itemprop="description">
231 <p>${description.getData()}</p>
232 </span>
233 </div>
234 <div class="pv4">
235 <h2 class="f7 fw3 ttu tracked-mega mb3">${languageUtil.get(locale, "dit.accomodation.services")}</h2>
236 <ul class="list ma0 pa0 f7 lh-copy">
237 <#if categoryList?has_content>
238 <#list categoryList as category>
239 <#if category.getParentCategoryId() == getterUtil.getLong(categoryServices)>
240 <li class="mb2">${category.getTitle(locale)}</li>
241 </#if>
242 </#list>
243 </#if>
244 </ul>
245 </div>
246 </div>
247 </div>
248 </div>
249</section>
250<#if (accomodationType==categoryTypeRural || accomodationType==categoryTypeAgro)>
251<#assign bannerId = "15184558" />
252<#else>
253<#assign bannerId = "15038540" />
254</#if>
255<#assign journalArticle = journalArticleLocalService.getLatestArticle(groupId, bannerId) />
256<#assign docXml = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) />
257
258<#assign enlace = docXml.valueOf("//dynamic-element[@name='enlace']/dynamic-content/text()") />
259<#assign texto_enlace = docXml.valueOf("//dynamic-element[@name='texto_enlace']/dynamic-content/text()") />
260<#assign imagen = docXml.valueOf("//dynamic-element[@name='imagen']/dynamic-content/text()") />
261<#assign alt_imagen = docXml.valueOf("//dynamic-element[@name='alt_imagen']/dynamic-content/text()") />
262<#assign descripcion = docXml.valueOf("//dynamic-element[@name='descripcion']/dynamic-content/text()") />
263<#assign title = journalArticle.getTitle(locale) />
264<div class="bg-dark-blue white relative overflow-hidden mb5 mb6-ns">
265 <img src="${imagen}" class="absolute absolute--fill of-cover w-100 h-100 o-60" alt="${alt_imagen}">
266 <div class="ph3 ph5-ns pv6 relative z-2">
267 <h3 class="f2 fw7 ma0">${title}</h3>
268 <div class="f4 lh-copy">
269 <p>${descripcion}</p>
270 </div>
271 <div class="f6">
272 <a href="${enlace}" class="link white arrow-link">${texto_enlace}</a>
273 </div>
274 </div>
275</div>