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