1<#-- SERVICIOS -->
2<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")>
3<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
4
5<#assign urlEncoder = staticUtil["java.net.URLEncoder"]>
6
7<#-- SERVICES -->
8<#assign
9 templateFunctionsHelperLocalService = serviceLocator.findService('net.bizkaia.iybiscuc.service.TemplateFunctionsHelperLocalService')
10 textFormatter = staticUtil['com.liferay.portal.kernel.util.TextFormatter']
11/>
12
13<!-- SERVICES -->
14<#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") >
15<#assign
16 jsonFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"]
17 dlAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
18 dlUtil = staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
19/>
20<#assign textFormatter = staticUtil["com.liferay.portal.kernel.util.TextFormatter"]>
21
22<#assign assetCategoryPropertyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService")>
23
24<#-- servicios related asset subhome -->
25<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")>
26<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
27<#assign journalArticleResourceLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")>
28
29
30<#-- VARIABLES -->
31<#assign articleId = .vars['reserved-article-id'].getData() >
32<#if request?has_content>
33 <#assign portletNamespace = themeDisplay.getPortletDisplay().getId() + '_' />
34 <#-- <#assign completeCurrentUrl = urlEncoder.encode((request["attributes"]["CURRENT_COMPLETE_URL"])?string?split("?")[0]?string, "UTF-8")> -->
35 <#assign completeCurrentUrl = urlEncoder.encode((themeDisplay.getPortalURL()+themeDisplay.getURLCurrent())?string?split("?")[0]?string, "UTF-8")>
36<#else>
37 <#assign portletNamespace = articleId + '_'>
38 <#assign completeCurrentUrl = themeDisplay.getPortalURL()>
39</#if>
40
41<#assign articleTitle = .vars['reserved-article-title'].getData() >
42
43<#assign encodedTitle = urlEncoder.encode(articleTitle, "UTF-8")>
44
45<#assign themeDisplay = serviceContext.getThemeDisplay() />
46<#assign layout = themeDisplay.getLayout() />
47
48<#assign vocabularyCategories = themeDisplay.getThemeSetting("vocabulary-id") >
49
50<#-- obtener subhome enlazada como related assets -->
51<#assign journalArticleClassName = "com.liferay.journal.model.JournalArticle">
52
53<#assign introSubhomeStructureId = themeDisplay.getThemeSetting("structure-introsubhome-id") >
54
55<#assign reportajeArticle = journalArticleLocalService.getArticle(groupId, articleId) >
56<#assign reportajeEntry = assetEntryLocalService.getEntry(journalArticleClassName, reportajeArticle.getResourcePrimKey()) >
57
58<#-- recoger título, entradilla y color del contenido subhome relacionado-->
59<#assign assetEntryQuery = getAssetEntryQuery(reportajeEntry.getClassNameId(), getterUtil.getLong(introSubhomeStructureId), reportajeEntry.getEntryId(), "publishDate", "ASC")>
60<#assign subhomeEntries = assetEntryLocalService.getEntries(assetEntryQuery)>
61
62<#assign colorSubhome ="#00e78d">
63<#assign tituloSubhome = "">
64<#assign entradillaSubhome ="">
65
66<#if 1 == subhomeEntries?size>
67 <#list subhomeEntries as e>
68 <#assign journalArticleResource = journalArticleResourceLocalService.fetchJournalArticleResource(getterUtil.getLong(e.getClassPK())) >
69 <#assign renderer = e.getAssetRenderer()>
70 <#assign subhomeArticle = renderer.getArticle() >
71 <#assign document = saxReaderUtil.read(subhomeArticle.getContentByLocale(locale)) >
72 <#assign rootElement = document.getRootElement() >
73 <#assign tituloSubhome = saxReaderUtil.createXPath("dynamic-element[@name='titulo']/dynamic-content").selectSingleNode(rootElement).getStringValue() >
74 <#assign entradillaSubhome = saxReaderUtil.createXPath("dynamic-element[@name='entradilla']/dynamic-content").selectSingleNode(rootElement).getStringValue() >
75 <#assign colorSubhome = saxReaderUtil.createXPath("dynamic-element[@name='color']/dynamic-content").selectSingleNode(rootElement).getStringValue() >
76 </#list>
77</#if>
78
79<#-- recoger eventos relacionados-->
80<#assign eventStructureId = themeDisplay.getThemeSetting("structure-event-id") >
81<#assign assetEntryQuery = getAssetEntryQuery(reportajeEntry.getClassNameId(), getterUtil.getLong(eventStructureId), reportajeEntry.getEntryId(), "publishDate", "ASC")>
82<#assign eventEntries = assetEntryLocalService.getEntries(assetEntryQuery)>
83
84<#-- recoger descuentos relacionados-->
85<#assign descuentoStructureId = themeDisplay.getThemeSetting("structure-descuento-id") >
86<#assign assetEntryQuery = getAssetEntryQuery(reportajeEntry.getClassNameId(), getterUtil.getLong(descuentoStructureId), reportajeEntry.getEntryId(), "publishDate", "ASC")>
87<#assign descuentosEntries = assetEntryLocalService.getEntries(assetEntryQuery)>
88
89<div class="container-fluid bgcolor p-0" id="turi-contenedor-anclas">
90 <div class="container p-0">
91 <div class="row">
92 <div class="col-md-10 col-md-offset-1 visible-md visible-lg">
93 <nav class="anclas">
94 <ul class="nav">
95 <#if !validator.equals("", textoPrincipalPrograma.getData())>
96 <li><a href="#programa"><@liferay.language key="iytu.evento.programa" /></a></li>
97 </#if>
98 <#if imagenSlider.getSiblings()?has_content>
99 <li><a href="#HugeSliderMultimedia"><@liferay.language key="multimedia" /></a></li>
100 </#if>
101 <#if !validator.equals("", textoComoLlegar.getData())>
102 <li><a href="#llegar"><@liferay.language key="iytu.reportaje.como-llegar" /></a></li>
103 </#if>
104 <#if !validator.equals("", textoDondeComer.getData())>
105 <li><a href="#comer"><@liferay.language key="iytu.reportaje.donde-comer" /></a></li>
106 </#if>
107 <#if !validator.equals("", textoDondeDormir.getData())>
108 <li><a href="#dormir"><@liferay.language key="iytu.reportaje.donde-alojarse" /></a></li>
109 </#if>
110 <li><a href="#bloqueDescuentos"><@liferay.language key="downloads" /></a></li>
111 </ul>
112 </nav>
113 </div>
114 <div class="col-xs-12 col-sm-12 hidden-md hidden-lg p-0">
115 <nav class="anclas">
116 <div class="bootstrap-select btn-group">
117 <button type="button" class="btn dropdown-toggle btn-default, btn-filtro" data-toggle="dropdown" aria-owns="tab_selector1" aria-expanded="false" id="dropdown_anclas"><@liferay.language key="iytu.reportaje.ir-a" /><span class="bs-caret"><span class="caret"></span></span>
118 </button>
119 <div class="dropdown-menu open">
120 <ul class="dropdown-menu inner nav" id="tab_selector1" aria-expanded="false">
121 <#if !validator.equals("", textoPrincipalPrograma.getData())>
122 <li><a href="#programa"><@liferay.language key="iytu.evento.programa" /></a></li>
123 </#if>
124 <#if imagenSlider.getSiblings()?has_content>
125 <li><a href="#HugeSliderMultimedia"><@liferay.language key="multimedia" /></a></li>
126 </#if>
127 <#if !validator.equals("", textoComoLlegar.getData())>
128 <li><a href="#llegar"><@liferay.language key="iytu.reportaje.como-llegar" /></a></li>
129 </#if>
130 <#if !validator.equals("", textoDondeComer.getData())>
131 <li><a href="#comer"><@liferay.language key="iytu.reportaje.donde-comer" /></a></li>
132 </#if>
133 <#if !validator.equals("", textoDondeDormir.getData())>
134 <li><a href="#dormir"><@liferay.language key="iytu.reportaje.donde-alojarse" /></a></li>
135 </#if>
136 <li><a href="#bloqueDescuentos"><@liferay.language key="downloads" /></a></li>
137 </ul>
138 </div>
139 </nav>
140 </div>
141 </div>
142 </div>
143</div>
144
145<div class="container-fluid reportaje evento">
146 <div class="container">
147 <div class="row">
148
149 <div class="col-sm-10 col-sm-offset-1 col-md-7 col-md-offset-1">
150 <div class="row">
151 <div class="col-md-12 reportaje_principal">
152 <hr class="cuadrado bgcolor" />
153 <div class="textorepo" id="programa">
154 <#if !validator.equals("", textoDestacadoPrograma.getData())>
155 <p class="entradilla">${textoDestacadoPrograma.getData()}</p>
156 </#if>
157 <#if !validator.equals("", textoPrincipalPrograma.getData())>
158 ${textoPrincipalPrograma.getData()}
159 </#if>
160 <#if !validator.equals("",imagenPrograma.getData()) >
161 <p><img src="${imagenPrograma.getData()}" alt=""></p>
162 </#if>
163 <#if !validator.equals("", textoBajoImagen.getData())>
164 ${textoBajoImagen.getData()}
165 </#if>
166 </div>
167 </div>
168 </div>
169 <#if imagenSlider.getSiblings()?has_content && !stringUtil.equalsIgnoreCase('', imagenSlider.getSiblings()?first.getData())>
170 <div class="reportaje_slider">
171 <section id="HugeSliderMultimedia" class="huge-slider">
172 <div class="container_fluid">
173 <div class="row">
174 <div class="col-xs-12 col-sm-12 col-md-12 slider-container">
175 <ul class="slider">
176 <#list imagenSlider.getSiblings() as cur_img>
177 <li>
178 <div class="imagen_fondo_slider" style="background-image:url('${cur_img.getData()}');"></div>
179 </li>
180 </#list>
181 </ul>
182 </div>
183 </div>
184 </div>
185 </section>
186 <script>
187 $("#HugeSliderMultimedia .slider").lightSlider({
188 item: 1,
189 loop: false,
190 keyPress: true,
191 controls:true,
192 pager: false,
193 enableDrag: true,
194 paginationLabel: ' ',
195 prevHtml: '<span class="sr-only"><@liferay.language key="previous" /></span>',
196 nextHtml: '<span class="sr-only"><@liferay.language key="next" /></span>',
197 responsive : [
198 {
199 breakpoint:993,
200 settings: {
201 pager: true
202 }
203 }
204
205 ]
206 });
207 </script>
208 </div>
209 </#if>
210 <div class="row">
211 <div class="col-md-12 reportaje_principal reportaje-separador">
212 <#if !validator.equals("", textoComoLlegar.getData())>
213 <div class="textorepo" id="llegar">
214 <h2><@liferay.language key="iytu.reportaje.como-llegar" /></h2>
215 ${textoComoLlegar.getData()}
216
217 <#if !validator.equals("",imagenComoLlegar.getData()) >
218 <p><img src="${imagenComoLlegar.getData()}" alt=""></p>
219 </#if>
220 </div>
221 </#if>
222 <#if !stringUtil.equalsIgnoreCase("", textoDondeComer.getData())>
223 <#if !stringUtil.equalsIgnoreCase("", imagenFondoDondeComer.getData())>
224 <div class="textorepo-auxiliar" id="comer">
225 <div class="textorepo-auxiliar-imagen">
226 <p><img src="${imagenFondoDondeComer.getData()}" alt="">
227 <span class="categoria"><@liferay.language key="iytu.reportaje.gastronomia" /></span></p>
228 <h2 class="titulo"><@liferay.language key="iytu.reportaje.donde-comer" /></h2>
229 </div>
230 <div class="textorepo-auxiliar-texto">
231 ${textoDondeComer.getData()}
232 </div>
233 </div>
234 <#else>
235 <div class="textorepo-auxiliar" id="comer">
236 <div class="textorepo-auxiliar-imagen sin-img">
237 <p><span class="categoria"><@liferay.language key="iytu.reportaje.gastronomia" /></span></p>
238 <h2 class="titulo"><@liferay.language key="iytu.reportaje.donde-comer" /></h2>
239 </div>
240 <div class="textorepo-auxiliar-texto">
241 ${textoDondeComer.getData()}
242 </div>
243 </div>
244 </#if>
245 </#if>
246 <#if !stringUtil.equalsIgnoreCase("", textoDondeDormir.getData())>
247 <#if !stringUtil.equalsIgnoreCase("", imagenFondoDondeDormir.getData())>
248 <div class="textorepo-auxiliar" id="dormir">
249 <div class="textorepo-auxiliar-imagen">
250 <p><img src="${imagenFondoDondeDormir.getData()}" alt="">
251 <span class="categoria"><@liferay.language key="iytu.reportaje.alojamiento" /></span></p>
252 <h2 class="titulo"><@liferay.language key="iytu.reportaje.donde-dormir" /></h2>
253 </div>
254 <div class="textorepo-auxiliar-texto">
255 ${textoDondeDormir.getData()}
256 </div>
257 </div>
258 <#else>
259 <div class="textorepo-auxiliar" id="dormir">
260 <div class="textorepo-auxiliar-imagen sin-img">
261 <p><span class="categoria"><@liferay.language key="iytu.reportaje.alojamiento" /></span></p>
262 <h2 class="titulo"><@liferay.language key="iytu.reportaje.donde-dormir" /></h2>
263 </div>
264 <div class="textorepo-auxiliar-texto">
265 ${textoDondeDormir.getData()}
266 </div>
267 </div>
268 </#if>
269 </#if>
270 </div>
271 </div>
272 </div>
273
274 <div class="col-sm-12 col-md-3 col-md-offset-1 reportaje_secundario">
275 <div class="reportaje_sidebar">
276 <ul class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
277 <#if !validator.equals("", textoComprarEntradas.getData())>
278 <li class="panel panel-default">
279 <div class="panel-heading entradas" role="tab" id="heading1">
280 <h2 class="panel-title">
281 <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse1" aria-expanded="false" aria-controls="collapse1" class="collapsed bgcolor entradas">
282 <@liferay.language key="iytu.evento.comprar-entradas" />
283 <span class="iytuicon icon-entradas"></span>
284 </a>
285 </h2>
286 </div>
287 <div id="collapse1" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading1">
288 <div class="panel-body">
289 ${appendTag(textoComprarEntradas.getData())}
290 </div>
291 </div>
292 </li>
293 </#if>
294 <li class="panel panel-default">
295 <div class="panel-heading compartir" role="tab" id="heading2">
296 <h2 class="panel-title">
297 <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse2" aria-expanded="false" aria-controls="collapse2" class="collapsed compartir">
298 <@liferay.language key="iytu.reportaje.compartir" />
299 <span class="iytuicon icon-share"></span>
300 </a>
301 </h2>
302 </div>
303 <div id="collapse2" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading2">
304 <div class="panel-body blanco">
305 <ul class="redes-sociales">
306 <li class="mt-3"> <a href="https://www.facebook.com/sharer/sharer.php?u=${completeCurrentUrl}" target="_blank" title="<@liferay.language key='opens-new-window' />" class="enlace-redsocial"> <span class="iytuicon circulo icon-facebook" aria-hidden="true"></span> <span class="sr-only"><@liferay.language key="iytu.reportaje.facebook" /></span> </a> </li>
307 <li class="mt-3"> <a href="https://twitter.com/intent/tweet?url=${completeCurrentUrl}&text=${encodedTitle}" target="_blank" title="<@liferay.language key='opens-new-window' />" data-size="large" class="enlace-redsocial"><span class="iytuicon circulo icon-twitter" aria-hidden="true"></span> <span class="sr-only"><@liferay.language key="iytu.reportaje.twitter" /></span> </a> </li>
308 <li class="mt-3"> <a href="whatsapp://send?text=${completeCurrentUrl}" target="_blank" title="<@liferay.language key='opens-new-window' />" class="enlace-redsocial"> <span class="iytuicon icon-whatsaap"></span> <span class="sr-only"><@liferay.language key="iytu.reportaje.whatsapp" /></span> </a> </li>
309 <li class="mt-3"> <a href="mailto:?Subject=${articleTitle}&Body=${articleTitle} ${completeCurrentUrl}" class="enlace-redsocial"> <span class="iytuicon circulo icon-mail"></span> <span class="sr-only"><@liferay.language key="iytu.reportaje.email" /></span> </a> </li>
310 </ul>
311 </div>
312 <script>
313 $( document ).ready(function() {
314 if(getCookieValue("pc_publicidad_visitbiscay") === "true" || getCookieValue("pc_publicidad_bizkaia") === "true"){
315 $( ".redes-sociales a.enlace-redsocial" ).on( "click", function() {
316 fbq('track', 'SubmitApplication', {
317 content_name: 'clicencompartir'
318 })
319 });
320 }
321 });
322 </script>
323 </div>
324 </li>
325 <#if !validator.equals("",URLVerMapa.getData())>
326 <li class="panel panel-default">
327 <div class="panel-heading" role="tab" id="heading3">
328 <p class="panel-title">
329 <a href="${URLVerMapa.getData()}" target="_blank" title="<@liferay.language key="opens-new-window" />">
330 <@liferay.language key="iytu.evento.ver-mapa" /> <span class="iytuicon icon-ver_mapa"></span>
331 </a>
332 </p>
333 </div>
334 </li>
335 </#if>
336 <#if !validator.equals("",URLWeb.getData())>
337 <li class="panel panel-default">
338 <div class="panel-heading" role="tab" id="heading4">
339 <p class="panel-title">
340 <a href="${URLWeb.getData()}" target="_blank" title="<@liferay.language key="opens-new-window" />">
341 <@liferay.language key="iytu.evento.ver-pagina-web" /> <span class="iytuicon icon-ver_web"></span>
342 </a>
343 </p>
344 </div>
345 </li>
346 </#if>
347 <#if !validator.equals("",textoInformacionPractica.getData())>
348 <li class="panel panel-default">
349 <div class="panel-heading" role="tab" id="heading5">
350 <h2 class="panel-title">
351 <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse5" aria-expanded="true" aria-controls="collapse5">
352 <@liferay.language key="iytu.reportaje.info-practica" />
353 <span class="icon-flecha_acordeon"></span></a>
354 </h2>
355 </div>
356 <div id="collapse5" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading5">
357 <div class="panel-body">
358 ${appendTag(textoInformacionPractica.getData())}
359 </div>
360 </div>
361 </li>
362 </#if>
363 </ul>
364 </div>
365 </div>
366 </div>
367 </div>
368 <div id="bloqueDescuentos">
369<#-- DESCUENTOS -->
370 <#if 0 lt descuentosEntries?size>
371 <#list descuentosEntries as curEntry>
372 <#assign renderer = curEntry.getAssetRenderer() >
373 <#assign className = renderer.getClassName() >
374 <#assign journalArticle = renderer.getArticle() >
375 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) >
376 <#assign rootElement = document.getRootElement() >
377
378 <#assign object1 = document.valueOf("//dynamic-element[@name='Documento_1']/dynamic-element[@name='documento1']/dynamic-content/text()") >
379 <#if !stringUtil.equalsIgnoreCase("", object1) >
380 <#assign
381 fileEntryJson = jsonFactoryUtil.createJSONObject(object1)
382 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
383 documento1 = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
384 />
385 </#if>
386 <#assign object2 = document.valueOf("//dynamic-element[@name='Documento_2']/dynamic-element[@name='documento2']/dynamic-content/text()") >
387 <#if !stringUtil.equalsIgnoreCase("", object2) >
388 <#assign
389 fileEntryJson = jsonFactoryUtil.createJSONObject(object2)
390 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
391 documento2 = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
392 />
393 </#if>
394 <#assign object3 = document.valueOf("//dynamic-element[@name='Documento_3']/dynamic-element[@name='documento3']/dynamic-content/text()") >
395 <#if !stringUtil.equalsIgnoreCase("", object3) >
396 <#assign
397 fileEntryJson = jsonFactoryUtil.createJSONObject(object3)
398 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
399 documento3 = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
400 />
401 </#if>
402 <#assign object4 = document.valueOf("//dynamic-element[@name='Documento_4']/dynamic-element[@name='documento4']/dynamic-content/text()") >
403 <#if !stringUtil.equalsIgnoreCase("", object4) >
404 <#assign
405 fileEntryJson = jsonFactoryUtil.createJSONObject(object4)
406 fileEntry = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryJson.getString("uuid"),fileEntryJson.getString("groupId")?number)
407 documento4 = dlUtil.getDownloadURL(fileEntry, fileEntry.getLatestFileVersion(true), themeDisplay, "")
408 />
409 </#if>
410
411 <#assign titulo1 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_1']/dynamic-element[@name='titulo1']").selectSingleNode(rootElement).getStringValue()/>
412 <#assign titulo2 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_2']/dynamic-element[@name='titulo2']").selectSingleNode(rootElement).getStringValue()/>
413 <#assign titulo3 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_3']/dynamic-element[@name='titulo3']").selectSingleNode(rootElement).getStringValue()/>
414 <#assign titulo4 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_4']/dynamic-element[@name='titulo4']").selectSingleNode(rootElement).getStringValue()/>
415 <#assign groupIdAsLong = getterUtil.getLong(groupId)/>
416 <div class="container-fluid descuentos">
417 <div class="container p-0">
418 <div class="row mr-0">
419 <div class="col-xs-12 col-xs-offset-0 col-sm-6 col-sm-offset-1 col-md-5 col-md-offset-1 p-0 contenido">
420 <p class="categoria">
421 <@liferay.language key="iytu.descuentos.descuentos" />
422 </p>
423 <h3><@liferay.language key="iytu.descuentos.dtosBBCard" /></h3>
424 <a href="/bilbao-bizkaia-card" class="boton blanco"><@liferay.language key="iytu.descuentos.comprar" /></a>
425 </div>
426
427 <div class="col-xs-12 col-md-6 descargas">
428 <ul class="row">
429 <!-- ${documento1}---${groupIdAsLong}-->
430 <#if documento1?? && documento1?length != 0>
431 <#--<#assign
432 fileEntry = templateFunctionsHelperLocalService.getFileEntry(documento1)
433 size = textFormatter.formatStorageSize(fileEntry.size, locale)
434 />-->
435 <#assign
436 fileEntry = getFileEntry(documento1,groupIdAsLong)
437 size = textFormatter.formatStorageSize(fileEntry.size, locale)
438 />
439 <li class="col-xxs-6 col-xs-6">
440 <a href="${documento1}" target="_blank" title="<@liferay.language key='opens-new-window' />">
441 <h4 class="colour">${titulo1}</h4>
442 <p class="archivoDescarga"><span class="iytuicon icon-descargar"></span> <span><@liferay.language key="download" /></span> ${size}</p>
443 </a>
444 </li>
445 </#if>
446 <#if documento2?? && documento2?length != 0>
447 <#--<#assign
448 fileEntry = templateFunctionsHelperLocalService.getFileEntry(documento2)
449 size = textFormatter.formatStorageSize(fileEntry.size, locale)
450 />-->
451 <#assign
452 fileEntry = getFileEntry(documento2,groupIdAsLong)
453 size = textFormatter.formatStorageSize(fileEntry.size, locale)
454 />
455 <li class="col-xxs-6 col-xs-6">
456 <a href="${documento2}" target="_blank" title="<@liferay.language key='opens-new-window' />">
457 <h4 class="colour">${titulo2}</h4>
458 <p class="archivoDescarga"><span class="iytuicon icon-descargar"></span> <span><@liferay.language key="download"/></span> ${size}</p>
459 </a>
460 </li>
461 </#if>
462 <#if documento3?? && documento3?length != 0>
463 <#--<#assign
464 fileEntry = templateFunctionsHelperLocalService.getFileEntry(documento3)
465 size = textFormatter.formatStorageSize(fileEntry.size, locale)
466 />-->
467 <#assign
468 fileEntry = getFileEntry(documento3,groupIdAsLong)
469 size = textFormatter.formatStorageSize(fileEntry.size, locale)
470 />
471 <li class="col-xxs-6 col-xs-6">
472 <a href="${documento3}" target="_blank" title="<@liferay.language key='opens-new-window' />">
473 <h4 class="colour">${titulo3}</h4>
474 <p class="archivoDescarga"><span class="iytuicon icon-descargar"></span> <span><@liferay.language key="download" /></span> ${size}</p>
475 </a>
476 </li>
477 </#if>
478 <#if documento4?? && documento4?length != 0>
479 <#--<#assign
480 fileEntry = templateFunctionsHelperLocalService.getFileEntry(documento4)
481 size = textFormatter.formatStorageSize(fileEntry.size, locale)
482 />-->
483 <#assign
484 fileEntry = getFileEntry(documento4,groupIdAsLong)
485 size = textFormatter.formatStorageSize(fileEntry.size, locale)
486 />
487 <li class="col-xxs-6 col-xs-6">
488 <a href="${documento4}" target="_blank" title="<@liferay.language key='opens-new-window' />">
489 <h4 class="colour">${titulo4}</h4>
490 <p class="archivoDescarga"><span class="iytuicon icon-descargar"></span> <span><@liferay.language key="download" /></span> ${size}</p>
491 </a>
492 </li>
493 </#if>
494 </ul>
495 </div>
496 </div>
497
498 </div>
499 </div>
500
501 </#list>
502 </#if>
503 </div>
504 <span id="lugaresInteres"></span>
505 <script>
506 /* $( document ).ready(function() {
507
508 $('#turi-contenedor-anclas a').click(function(e) {
509 e.preventDefault();
510 var $target = $(this.hash);
511 var destino = this.hash;
512 $target = $target.length && $target || $(this.hash);
513 if ($target.length) {
514 var targetOffset = $target.offset().top;
515 var topSpace = $('#heading').height() + $('#turi-contenedor-anclas').height();
516 targetOffset = targetOffset - topSpace;
517 $('html,body').animate({scrollTop: targetOffset}, 1500);
518 }
519
520 });
521
522 $('body').scrollspy({
523 target: '.anclas',
524 offset: function() {
525 var topSpace = $('#heading').height() + $('#turi-contenedor-anclas').height() + 10;
526 console.log(topSpace);
527 return topSpace;
528 }()
529 })
530
531 }); */
532 </script>
533 <script>
534$( document ).ready(function() {
535
536
537 /** menu responsive convertier a ul **/
538 /*
539 $('#turi-contenedor-anclas .selectpicker').selectpicker({
540 maxOptions: 1
541 });
542
543 $('.anclas .selectpicker').on('change', function () {
544 //window.location = $(this).val();
545 var $target = $(this).val();
546 console.log($target + 't');
547 var destino = $(this).val();
548 console.log(destino + 't');
549 $target = $target.length && $target || $(this).val();
550 if ($target.length) {
551 var targetOffset = $target.offset().top;
552 var topSpace = $('#heading').height() + $('#turi-contenedor-anclas').height();
553 targetOffset = targetOffset - topSpace;
554 $('html,body').animate({scrollTop: targetOffset}, 1500);
555 }
556 });*/
557
558 /*** animación anclas en menú con fondo color ***/
559
560
561 $('#turi-contenedor-anclas .visible-md a').click(function(e) {
562 e.preventDefault();
563 var $target = $(this.hash);
564 var destino = this.hash;
565 $target = $target.length && $target || $(this.hash);
566 if ($target.length) {
567 var targetOffset = $target.offset().top;
568 var topSpace = $('#heading').height() + $('#turi-contenedor-anclas').height();
569 targetOffset = targetOffset - topSpace;
570 $('html,body').animate({scrollTop: targetOffset}, 1500);
571 }
572
573 });
574
575 $('#turi-contenedor-anclas .hidden-md a').click(function(e) {
576 e.preventDefault();
577 var $target = $(this.hash);
578 var destino = this.hash;
579 $target = $target.length && $target || $(this.hash);
580 if ($target.length) {
581 var targetOffset = $target.offset().top;
582 var topSpace = $('#heading').height() + $('#turi-contenedor-anclas button').height() + 40;
583 targetOffset = targetOffset - topSpace;
584 $('html,body').animate({scrollTop: targetOffset}, 1500);
585 }
586
587 });
588
589 /*** scroll spy para el menú ***/
590 $('body').scrollspy({
591 target: '.anclas',
592 offset: function() {
593 var topSpace = $('#heading').height() + $('#turi-contenedor-anclas').height() + 20;
594 return topSpace;
595 }()
596 })
597
598 /****** scroll to fixed de menú de anclas *****/
599 if ($(window).width() > 992) {
600
601 $('#turi-contenedor-anclas').scrollToFixed({
602 marginTop: function() {
603 var marginTop = $('#heading').height();
604
605 return marginTop;
606 },
607 limit: function() {
608 var bloque = $('#bloqueDescuentos').offset().top;
609 var menus = $('#turi-contenedor-anclas').outerHeight();
610 var limit = bloque - menus;
611 return limit;
612 },
613 removeOffsets: true,
614 preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); },
615 preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); }
616 });
617 $('.reportaje_sidebar').scrollToFixed({
618 marginTop: 180,
619 limit: function() {
620 var limit = $('#bloqueDescuentos').offset().top - $('.reportaje_sidebar').height() - 60;
621 return limit;
622 },
623 removeOffsets: true,
624 preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); },
625 preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); }
626
627 });
628
629 }else{
630 $('#turi-contenedor-anclas').scrollToFixed({
631 marginTop: function() {
632 var marginTop = $('#heading').height();
633
634 return marginTop;
635 },
636 limit: function() {
637 var limit = $('#bloqueDescuentos').offset().top - $('#turi-contenedor-anclas').outerHeight();
638 console.log(limit);
639 return limit;
640 },
641 removeOffsets: true,
642 preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); },
643 preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); }
644 });
645 $('.reportaje_sidebar').scrollToFixed({
646 marginTop: 192,
647 limit: function() {
648 var limit = $('#bloqueDescuentos').offset().top - $('.reportaje_sidebar').height() - 135;
649 return limit;
650 },
651 removeOffsets: true,
652 preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); },
653 preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); }
654
655 });
656 }
657
658 $(window).bind('resize',function(){
659 clearTimeout(this.timeout);
660 this.timeout = setTimeout(function () {
661
662 var windowWidth = $(window).width();
663 if(windowWidth > 992){
664
665
666 $('#turi-contenedor-anclas').trigger('detach.ScrollToFixed');
667 $('#turi-contenedor-anclas').scrollToFixed({
668 marginTop: function() {
669 var marginTop = $('#heading').height();
670
671 return marginTop;
672 },
673 limit: function() {
674 var limit = $('#bloqueDescuentos').offset().top - $('#turi-contenedor-anclas').outerHeight();
675 console.log(limit);
676 return limit;
677 },
678 removeOffsets: true,
679 preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); },
680 preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); }
681 });
682 $('.reportaje_sidebar').trigger('detach.ScrollToFixed');
683 $('.reportaje_sidebar').scrollToFixed({
684 marginTop: 180,
685 limit: function() {
686 var limit = $('#bloqueDescuentos').offset().top - $('.reportaje_sidebar').height() - 135;
687 return limit;
688 },
689 removeOffsets: true,
690 preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); },
691 preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); }
692
693 });
694
695
696
697
698
699 }else{
700
701
702 $('#turi-contenedor-anclas').trigger('detach.ScrollToFixed');
703 $('#turi-contenedor-anclas').scrollToFixed({
704 marginTop: function() {
705 var marginTop = $('#heading').height();
706
707 return marginTop;
708 },
709 limit: function() {
710 var limit = $('#bloqueDescuentos').offset().top - $('#turi-contenedor-anclas').outerHeight();
711 console.log(limit);
712 return limit;
713 },
714 removeOffsets: true,
715 preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); },
716 preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); }
717 });
718 $('.reportaje_sidebar').trigger('detach.ScrollToFixed');
719 $('.reportaje_sidebar').scrollToFixed({
720 marginTop: 192,
721 limit: function() {
722 var limit = $('#bloqueDescuentos').offset().top - $('.reportaje_sidebar').height() - 135;
723 return limit;
724 },
725 removeOffsets: true,
726 preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); },
727 preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); }
728
729 });
730
731 }
732
733
734
735 }, 0);
736
737 });
738
739
740});
741</script>
742
743<#-- FUNCIONES -->
744
745<#function getAssetEntryQuery classNameId structureId linkedAssetEntryId order orderType>
746 <#assign assetEntryQuery = objectUtil("com.liferay.asset.kernel.service.persistence.AssetEntryQuery") >
747
748 <#assign classNameIds = [classNameId] >
749 ${assetEntryQuery.setClassNameIds(classNameIds)}
750
751 <#if !validator.equals("", structureId?string) >
752 <#assign classTypeIds = [structureId] >
753 ${assetEntryQuery.setClassTypeIds(classTypeIds)}
754
755 <#if !validator.equals("", order) >
756 ${assetEntryQuery.setOrderByCol1(order)}
757 ${assetEntryQuery.setOrderByType1(orderType)}
758 </#if>
759 </#if>
760
761 <#if !validator.equals("0", linkedAssetEntryId?string) >
762 ${assetEntryQuery.setLinkedAssetEntryId(linkedAssetEntryId)}
763 </#if>
764
765 <#return assetEntryQuery >
766</#function>
767
768<#function getFileEntry url groupId>
769
770
771 <#if url?? && url?length != 0>
772 <#assign uuid = url?split("/")?last?split("?")?first>
773 </#if>
774 <#assign uuidString = getterUtil.getString(uuid)/>
775 <#return fileEntryService.fetchDLFileEntryByUuidAndGroupId(uuidString, groupId) />
776
777</#function>
778
779<#function replaceSpecialCharacters url>
780 <#return htmlUtil.escapeHREF(url?replace("|","%7C")) />
781</#function>
782
783<#function appendTag(element) >
784 <#if !(element?starts_with("<p>")||element?starts_with("<ul>")||element?starts_with("<ol>")||element?starts_with("<table>"))>
785 <#assign corrected = "<p>" + element >
786 <#else>
787 <#assign corrected = element >
788 </#if>
789
790 <#if !(element?ends_with("</p>")||element?ends_with("</ul>")||element?ends_with("</ol>")||element?ends_with("</table>"))>
791 <#assign corrected = corrected + "</p>">
792 </#if>
793
794 <#return corrected>
795</#function>