[ad_1]
1<#assign liferay_theme = PortletJspTagLibs["/META-INF/liferay-theme.tld"] />
2<@liferay_theme["defineObjects"] />
3<#assign themeRootPath = themeDisplay.getPathThemeRoot() />
4<#assign themeImagesPath = themeDisplay.getPathThemeImages() />
5<#assign dlAppServiceUtil = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService") />
6<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
7<#assign assetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
8<#assign lang = themeDisplay.getLocale()>
9<#assign commonUtilsApi =serviceLocator.findService("com.valencia.liferay.common.utils.api.CommonUtilsApi")/>
10
11<script>
12 if(window.hasOwnProperty("define") && define.amd){
13 define._amd = define.amd;
14 define.amd = false;
15 }
16</script>
17<script src="${themeRootPath}/js/lightslider.min.js"></script>
18<script src="${themeRootPath}/js/ekko-lightbox.js"></script>
19<link type="text/css" rel="stylesheet" href="${themeRootPath}/css/ext/lightslider.min.css" />
20<link type="text/css" rel="stylesheet" href="${themeRootPath}/css/ext/ekko-lightbox.css" />
21<script>
22 if(window.hasOwnProperty("define") && define._amd){
23 define.amd = define._amd;
24 }
25</script>
26
27
28<!-- variables -->
29<#assign currentUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() />
30<#assign publishedDate = .vars['reserved-article-create-date'].data />
31<#assign title = .vars['reserved-article-title'].data />
32<#assign description = .vars['reserved-article-description'].data />
33<#assign contentId = .vars['reserved-article-id'].data>
34<#assign liferay_ui = taglibLiferayHash["/META-INF/liferay-ui.tld"] />
35<#assign liferay_portlet = taglibLiferayHash["/META-INF/liferay-portlet.tld"] />
36<#assign vocabularyID = getterUtil.getLong(156752) />
37<#assign backUrl = "" />
38<#if request.getHeader("Referer")?? >
39 <#assign backUrl = request.getHeader("Referer") />
40</#if>
41
42<#if backUrl?contains("/buscador")>
43 <#assign redirectSessionAttr = (request.getSession().getAttribute("LIFERAY_SHARED_redirectToBuscador")??)?then(request.getSession().getAttribute("LIFERAY_SHARED_redirectToBuscador"),"")/>
44 <#if redirectSessionAttr != "" >
45 <#assign backUrl = redirectSessionAttr />
46 </#if>
47</#if>
48
49
50<#assign journalArticleClassname = "com.liferay.journal.model.JournalArticle" >
51<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
52<#assign AssetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") />
53<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
54<#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") />
55<#assign scopeId = .vars['scopeGroupId'] />
56
57<#assign journalArticle = JournalArticleLocalService.getArticle(getterUtil.getLong(scopeId), contentId)>
58<#assign journaArticleEntry = AssetEntryLocalService.getEntry(journalArticleClassname, journalArticle.getResourcePrimKey())>
59<#assign categorys = assetCategoryService.getAssetEntryAssetCategories(journaArticleEntry.getEntryId()) >
60<#assign categoryId = categorys[0].getCategoryId() >
61<#assign categoryName = categorys[0].getTitle(lang) >
62<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext() />
63<#assign httpServletRequest = serviceContext.getRequest()>
64
65<#assign date = publishedDate>
66
67<!-- variables para ShareThis SocialNetworks -->
68<#assign imageShareUrl = "" />
69<#assign videoShareUrl = "" />
70
71<div class="container noticia-contenido">
72
73 <div class="row">
74 <div class="col-12">
75 <div class="pb-3">
76 <span class="volver">
77 <img src="${themeImagesPath}/icons/icono_volver.svg" alt=""> <@liferay.language key="volver" />
78 </span>
79 </div>
80 <#assign urlPaginaCategoria = "">
81 <#if lang == "es_ES">
82 <#assign urlPaginaCategoria= "/cas/actualidad/-/categories/${categoryId}">
83 <#elseif lang == "ca_ES" >
84 <#assign urlPaginaCategoria= "/val/actualitat/-/categories/${categoryId}">
85 <#else>
86 <#assign urlPaginaCategoria = "/cas/actualidad">
87 </#if>
88 <ul class="listaCategoriasCabecera">
89 <li class="itemCategoria"><a class="enlaceCategoria" href="${urlPaginaCategoria}">${categoryName}</a></li>
90 </ul>
91 <h2 class="bloque_titulo">${Titular.getData()}</h2>
92 <h3 class="bloque_subtitulo">${Antetitulo.getData()}</h3>
93
94 <#assign cont=0 />
95 <#if tituloRecurso??>
96 <#list tituloRecurso.getSiblings() as cur_vImagen>
97 <#if cur_vImagen.tipoRecurso.getData() == "imagen" && cur_vImagen.multimedia.getData() != "">
98 <#assign cont = cont+1 />
99 </#if>
100 </#list>
101 </#if>
102 <#if enlaceYoutube?? && enlaceYoutube.getSiblings()?has_content>
103
104 <#list enlaceYoutube.getSiblings() as cur_enlaceYoutube>
105 <#if cur_enlaceYoutube.getData()?? && cur_enlaceYoutube.getData() != "">
106 <#assign url = cur_enlaceYoutube.getData()/>
107 <#assign url = url?replace("watch?v=","embed/")/>
108 <iframe id="player" class="div-you" src="${url}"allowfullscreen></iframe>
109 <#assign videoShareUrl = url />
110 <#if cur_enlaceYoutube.DescripcionYoutube?? && cur_enlaceYoutube.DescripcionYoutube.getData() != "">
111 <p>• ${cur_enlaceYoutube.DescripcionYoutube.getData()}</p>
112 </#if>
113
114 <#elseif tituloRecurso?? && tituloRecurso.getSiblings()?has_content>
115 <#if (cont > 1)>
116 <div class="div-img">
117 <ul class="ul-img" id="imgsSlider">
118 <#list tituloRecurso.getSiblings() as cur_vImagen>
119 <#if cur_vImagen.tipoRecurso.getData() == "imagen" && cur_vImagen.multimedia.getData() != "">
120 <li class="li-img">
121 <#assign imageJson = jsonFactoryUtil.createJSONObject(cur_vImagen.multimedia.data)>
122 <#assign imageClassPK = imageJson.getString("classPK")>
123 <@adaptive_media_image["img"] alt="" fileVersion=dlAppServiceUtil.getFileEntry(imageClassPK?number).getFileVersion()/>
124 <img class="slider-img" alt="" src="${cur_vImagen.multimedia.getData()}" />
125 <#assign imageShareUrl = themeDisplay.getPortalURL() + cur_vImagen.multimedia.getData() />
126
127 </li>
128
129 </#if>
130 </#list>
131 </ul>
132 </div>
133 </#if>
134 <#if (cont == 1)>
135 <#list tituloRecurso.getSiblings() as cur_vImagen>
136 <#if cur_vImagen.tipoRecurso.getData() == "imagen" && cur_vImagen.multimedia.getData() != "">
137 <#assign imageJson = jsonFactoryUtil.createJSONObject(cur_vImagen.multimedia.data)>
138 <#assign imageClassPK = imageJson.getString("classPK")>
139 <@adaptive_media_image["img"] alt="" fileVersion=dlAppServiceUtil.getFileEntry(imageClassPK?number).getFileVersion()/>
140 <img class="slider-img" alt="" src="${cur_vImagen.multimedia.getData()}" />
141 <p>• ${cur_vImagen.descripcionRecurso.getData()}</p>
142 <#assign imageShareUrl = themeDisplay.getPortalURL() + cur_vImagen.multimedia.getData() />
143 </#if>
144 </#list>
145 </#if>
146 </#if>
147 <#break>
148 </#list>
149
150 <#else>
151 <#if tituloRecurso?? && tituloRecurso.getSiblings()?has_content>
152 <#if (cont > 1)>
153 <div class="div-img">
154 <ul class="ul-img" id="imgsSlider">
155 <#list tituloRecurso.getSiblings() as cur_vImagen>
156 <#if cur_vImagen.tipoRecurso.getData() == "imagen" && cur_vImagen.multimedia.getData() != "">
157 <li class="li-img">
158 <#assign imageJson = jsonFactoryUtil.createJSONObject(cur_vImagen.multimedia.data)>
159 <#assign imageClassPK = imageJson.getString("classPK")>
160 <@adaptive_media_image["img"] alt="" fileVersion=dlAppServiceUtil.getFileEntry(imageClassPK?number).getFileVersion()/>
161 <img class="slider-img" alt="" src="${cur_vImagen.multimedia.getData()}" />
162
163 </li>
164
165 </#if>
166 </#list>
167 </ul>
168 </div>
169 </#if>
170 <#if (cont == 1)>
171 <#list tituloRecurso.getSiblings() as cur_vImagen>
172 <#if cur_vImagen.tipoRecurso.getData() == "imagen" && cur_vImagen.multimedia.getData() != "">
173 <#assign imageJson = jsonFactoryUtil.createJSONObject(cur_vImagen.multimedia.data)>
174 <#assign imageClassPK = imageJson.getString("classPK")>
175 <@adaptive_media_image["img"] alt="" fileVersion=dlAppServiceUtil.getFileEntry(imageClassPK?number).getFileVersion()/>
176 <img class="slider-img" alt="" src="${cur_vImagen.multimedia.getData()}" />
177 <p>• ${cur_vImagen.descripcionRecurso.getData()}</p>
178 <#assign imageShareUrl = themeDisplay.getPortalURL() + cur_vImagen.multimedia.getData() />
179 </#if>
180 </#list>
181 </#if>
182 </#if>
183
184 </#if>
185
186 <div class="dateRedes">
187 <!-- redes sociales -->
188
189 <nav id="compartir" class="compartir-redes-sociales text-right">
190 <ul>
191 <li class="whatsapp" data-lang="compartir_whatsapp">
192 <a id="enlace-whatsapp" class="social-icon" tabindex="1" href="" target="_blank" title="Compartir en Whatsapp"><img id="imagen-social-whatsapp" alt="Compartir en Whatsapp" src='${themeImagesPath}/social-media-icons/whatsapp-social-icon.png'></a>
193 </li>
194
195
196 <li class="twitter" data-lang="compartir_twitter">
197 <a id="enlace-twitter" class="social-icon" tabindex="1" href="" target="_blank" title="Compartir en Twitter"><img id="imagen-social-twitter" alt="Compartir en Twitter" src='${themeImagesPath}/social-media-icons/twitter-social-icon.png'></a>
198 </li>
199
200
201 <li class="facebook" data-lang="compartir_facebook">
202 <a id="enlace-facebook" class="social-icon" tabindex="1" href="" target="_blank" title="Compartir en Facebook"><img id="imagen-social-facebook" alt="Compartir en Facebook" src='${themeImagesPath}/social-media-icons/facebook-social-icon.png'></a>
203 </li>
204
205
206 <li class="mail" data-lang="compartir_email">
207 <a id="enlace-email" class="social-icon mr-0" tabindex="1" href="mailto:?Subject=${title}?Body=" title="Compartir por mail"><img id="imagen-social-email" alt="Compartir en mail" src='${themeImagesPath}/social-media-icons/email-social-icon.png'></a>
208 </li>
209
210 </ul>
211 </nav>
212 <p class="noticia-date">
213
214 <#assign fecha_Data = getterUtil.getString(fecha.getData())>
215 <#assign fechaInicio = "" />
216
217 <#if validator.isNotNull(fecha_Data)>
218
219 <#assign fecha_DateObj = dateUtil.parseDate("yyyy-MM-dd", fecha_Data, locale)>
220 <#assign fechaInicio = dateUtil.getDate(fecha_DateObj, "dd/MM/yyyy", locale, timeZone)?string />
221
222 <span class="fa fa-calendar"></span>${fechaInicio?has_content?then(fechaInicio,"")}
223
224 <#else>
225 <#assign datePub = date?datetime("EEE, d MMM yyyy HH:mm:ss Z") >
226 ${datePub?string["dd-MMM-yyyy"]}
227 </#if>
228 ${Subtitulo.getData()}
229 </p>
230 </div>
231
232 <div>
233 ${descripcion.getData()}
234 </div>
235
236 <#assign article = JournalArticleLocalService.getArticle(getterUtil.getLong(scopeId), contentId)>
237
238
239 <!-- Título Recursos Multimedia -->
240 <#assign contitulo = "false">
241 <#if tituloRecurso?? && (tituloRecurso.getSiblings()?size>0)>
242
243 <#list tituloRecurso.getSiblings() as cur_Recurso>
244 <#if cur_Recurso?is_last && cur_Recurso.getData()?? && cur_Recurso.getData() != "" && cur_Recurso.tipoRecurso.getData() != "imagen" >
245 <div class="row">
246 <div class="col-xs-12 div-multimedia">
247 <h3><@liferay.language key="noticias.multimedia" /></h3>
248 </div>
249 </div>
250 <#assign contitulo = "true">
251 </#if>
252 </#list>
253
254 </#if>
255
256 <#if enlaceFlickr?has_content && enlaceFlickr.getData()?has_content>
257 <#if contitulo == "false">
258 <div class="row">
259 <div class="col-xs-12 div-multimedia">
260 <h3><@liferay.language key="noticias.multimedia" /></h3>
261 </div>
262 </div>
263 </#if>
264 <div class="container-flickr">
265 <#assign album = enlaceFlickr.getData()?substring(enlaceFlickr.getData()?last_index_of("/")+1)>
266 <iframe class="iframe-flickr"
267 src="https://flickrembed.com/cms_embed.php?source=flickr&layout=responsive&input=${album}&sort=0&by=album&theme=default_notextpanel&scale=fit&speed=5000&limit=10&skin=default&autoplay=true"
268 scrolling="no" frameborder="0" allowFullScreen="true" webkitallowfullscreen="true" mozallowfullscreen="true">
269 </iframe>
270 </div>
271 <a class="a-flickr" href="${enlaceFlickr.getData()}" target="_blank"><p><strong><@liferay.language key="noticias-imagenes-flickr"/></strong></p></a>
272 </#if>
273 </div>
274
275 </div>
276
277
278 <!--Carousel con videos e imágenes-->
279 <#assign continua = "false"/>
280 <#if enlaceYoutube?? && (enlaceYoutube.getSiblings()?size >= 1)>
281 <#list enlaceYoutube.getSiblings() as cur_enlaceYoutube>
282 <#if cur_enlaceYoutube?index == 0 && cur_enlaceYoutube.getData()?? && cur_enlaceYoutube.getData() != "">
283 <div class="row">
284 <div class="col-xs-12 div-multimedia">
285 <h3><@liferay.language key="noticias.galeria" /></h3>
286 </div>
287 </div>
288 <ul class="ul-imgVid" id="imgsVidsSlider">
289 <#assign continua = "true"/>
290 </#if>
291 <#if continua=="true">
292 <#if cur_enlaceYoutube?index != 0 && cur_enlaceYoutube.getData()?? && cur_enlaceYoutube.getData() != "">
293 <#assign urlVid = cur_enlaceYoutube.getData()/>
294 <#assign urlVid = urlVid?replace("watch?v=","embed/")/>
295 <li class="li-imgVid" href="${urlVid}" data-toggle="lightbox" data-gallery="mixedgallery" data-type="youtube">
296
297 <iframe class="slider-imgVid" src="${urlVid}"allowfullscreen></iframe>
298 </li>
299 </#if>
300 </#if>
301 </#list>
302 <#if continua=="true">
303 <#if (cont > 0)>
304 <#list tituloRecurso.getSiblings() as cur_vImagen>
305 <#if cur_vImagen.tipoRecurso.getData() == "imagen" && cur_vImagen.multimedia.getData() != "">
306 <li class="li-imgVid" href="${cur_vImagen.multimedia.getData()}" data-toggle="lightbox" data-gallery="mixedgallery" data-type="image">
307 <#assign imageJson = jsonFactoryUtil.createJSONObject(cur_vImagen.multimedia.data)>
308 <#assign imageClassPK = imageJson.getString("classPK")>
309 <@adaptive_media_image["img"] alt="" fileVersion=dlAppServiceUtil.getFileEntry(imageClassPK?number).getFileVersion()/>
310 <img class="slider-imgVid" alt="" src="${cur_vImagen.multimedia.getData()}" />
311 </li>
312 </#if>
313 </#list>
314 </#if>
315 </#if>
316 </ul>
317 </#if>
318
319
320 <!--Recursos Multimedia-->
321 <#if tituloRecurso?? && (tituloRecurso.getSiblings()?size>0)>
322
323 <#list tituloRecurso.getSiblings() as cur_RecursoLista>
324 <#assign contiene = "false" />
325 <#if cur_RecursoLista.tipoRecurso.getData() != "imagen">
326 <#if cur_RecursoLista.getData()?? && cur_RecursoLista.getData() != "">
327 <#assign titulo = cur_RecursoLista.getData()/>
328 <#assign contiene = "true" />
329 </#if>
330 <#if contiene == "true">
331 <#if cur_RecursoLista.tipoRecurso.getData()?? && cur_RecursoLista.tipoRecurso.getData() != "">
332 <#if cur_RecursoLista.tipoRecurso.getData()?? && cur_RecursoLista.tipoRecurso.getData() == "audio">
333 <#assign icono = "audio" />
334 <#elseif cur_RecursoLista.tipoRecurso.getData()?? && cur_RecursoLista.tipoRecurso.getData() == "imagen">
335 <#assign icono = "imagen" />
336 <#elseif cur_RecursoLista.tipoRecurso.getData()?? && cur_RecursoLista.tipoRecurso.getData() == "documento">
337 <#assign icono = "documento" />
338 <#elseif cur_RecursoLista.tipoRecurso.getData()?? && cur_RecursoLista.tipoRecurso.getData() == "video">
339 <#assign icono = "video" />
340 <#else>
341 <#assign icono = "" />
342 </#if>
343 </#if>
344 <#if cur_RecursoLista.enlaceRecurso?? && cur_RecursoLista.enlaceRecurso.getData()?? && cur_RecursoLista.enlaceRecurso.getData() != "">
345 <#assign enlace = cur_RecursoLista.enlaceRecurso.getData() />
346 <#else>
347 <#assign enlace = "#"/>
348 </#if>
349 </#if>
350 <#if titulo?? && titulo != "">
351
352 <div class="row col-xl-4 col-lg-4 col-md-6" style="position: relative; float: left;">
353 <div class="col-xs-12 contenido-multimedia mb-4">
354
355 <#if browserSniffer.isIe(httpServletRequest)>
356 <img class="icono-multimedia" src="${themeImagesPath}/noticias-icons/${icono}-icon.png"/><a href="${cur_RecursoLista.multimedia.getData()}" title="${titulo}" target="_blank">${titulo}</a>
357 <#else>
358
359 <#if icono == "audio">
360 <audio src="${cur_RecursoLista.multimedia.getData()}" preload="auto" controls>
361 <img class="icono-multimedia" src="${themeImagesPath}/noticias-icons/${icono}-icon.png"/><a href="${cur_RecursoLista.multimedia.getData()}" title="${titulo}" target="_blank">${titulo}</a>
362 </audio>
363 <div class="row align-items-center ml-3" >
364 <span>${titulo}</span>
365 </div>
366
367 <#elseif icono == "video">
368 <video width="360" height="200" src="${cur_RecursoLista.multimedia.getData()}?version=1.0&videoPreview=1&type=mp4" preload="auto" controls></video>
369 <div class="row align-items-center ml-2" >
370 <a href="${cur_RecursoLista.multimedia.getData()}?version=1.0&videoPreview=1&type=mp4" title="${titulo}" target="_blank">${titulo}</a>
371 </div>
372 <#else>
373 <img class="icono-multimedia" src="${themeImagesPath}/noticias-icons/${icono}-icon.png"/><a href="${cur_RecursoLista.multimedia.getData()}" title="${titulo}" target="_blank">${titulo}</a>
374 </#if>
375
376 </#if>
377
378
379 </div>
380 </div>
381
382 </#if>
383 </#if>
384 </#list>
385 </#if>
386
387
388
389 <!-- buscamos contenidos relacionados -->
390 <div class = "noticia-contenido-related-content">
391
392 <#assign articleEntry = AssetEntryLocalService.getEntry(journalArticleClassname, article.getResourcePrimKey())>
393 <#assign groupIdEntry = articleEntry.getGroupId()>
394
395 <#assign relatedEntries = AssetLinkLocalService.getDirectLinks(articleEntry.getEntryId()) >
396 <#assign listCategory = assetCategoryService.getAssetEntryAssetCategories(articleEntry.getEntryId()) >
397
398 <#assign noticiasRel = []/>
399 <#if relatedEntries?has_content>
400 <#assign ddmKeyNoticia = "156671" >
401 <#list relatedEntries as relatedAsset>
402 <#assign relatedEntry = AssetEntryLocalService.getEntry(relatedAsset.getEntryId2()) >
403 <#assign entryClassPK = relatedEntry.getClassPK() >
404
405 <#assign journalArticleClassname = "com.liferay.journal.model.JournalArticle" >
406 <#if journalArticleClassname==relatedEntry.getClassName() >
407 <#assign relatedArticle = JournalArticleLocalService.getLatestArticle(entryClassPK) >
408 </#if>
409 <#if relatedArticle.getDDMStructureKey() == ddmKeyNoticia >
410 <#assign noticiasRel = noticiasRel + [relatedArticle] />
411 </#if>
412 </#list>
413 <#if (noticiasRel?size>0)>
414 <div class="row" style="background: linear-gradient(rgba(255,255,255,.8), rgba(255,255,255,.8)), url(/o/valencia-theme/css/img/puente-las-flores_RECT.JPG); background-size: cover; background-position: center;">
415 <div class="col-xs-12">
416 <div class="row">
417 <div class="col-xs-12">
418 <h3><@liferay.language key="noticias.relacionadas" /></h3>
419 </div>
420 </div>
421 <div class="row">
422 <div class="col-xs-12">
423 <#assign contNoticias = 0 />
424
425 <ul id="categorySlider">
426 <#list noticiasRel as noticiaRel>
427
428 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg">
429
430 <#assign rootElement = saxReaderUtil.read(noticiaRel.getContentByLocale(locale)).getRootElement() />
431 <#assign selectorTipo = saxReaderUtil.createXPath("dynamic-element[@name='tituloRecurso']/dynamic-element[@name='tipoRecurso']") />
432
433 <#assign selector = saxReaderUtil.createXPath("dynamic-element[@name='tituloRecurso']/dynamic-element[@name='multimedia']") />
434 <#assign document = saxReaderUtil.read(relatedArticle.getContentByLocale(locale))>
435
436
437 <#if selectorTipo.selectSingleNode(rootElement)?has_content>
438 <#assign tipo = selectorTipo.selectSingleNode(rootElement).getStringValue()?replace(""", "") />
439 </#if>
440 <#if (tipo?? && tipo?trim == "imagen") && selector.selectSingleNode(rootElement)?has_content>
441 <#assign jsonObjectString = document.valueOf("//dynamic-element[@name='multimedia']/dynamic-content/text()") />
442 <#if jsonObjectString?has_content>
443 <#assign jsonObject = jsonObjectString?eval>
444 <#assign entryUuid = jsonObject.uuid />
445 <#assign entryGroupId = getterUtil.getLong(jsonObject.groupId) />
446 <#assign dlFileEntry = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) />
447 <#assign assetEntry = AssetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry",dlFileEntry.fileEntryId) />
448 <#assign assetRenderer = assetEntry.assetRenderer />
449 <#assign imagen = assetRenderer.getURLDownload(themeDisplay) />
450
451 <#assign imagen2 = noticiasRel[contNoticias] />
452
453 <#assign document2 = saxReaderUtil.read(imagen2.getContentByLocale(locale))>
454 <#assign jsonObjectString2 = document2.valueOf("//dynamic-element[@name='multimedia']/dynamic-content/text()") />
455 <#assign jsonObject2 = jsonObjectString2?eval>
456 <#assign entryUuid2 = jsonObject2.uuid />
457 <#assign entryGroupId2 = getterUtil.getLong(jsonObject2.groupId) />
458 <#assign dlFileEntry2 = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid2, entryGroupId2) />
459 <#assign assetEntry = AssetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry",dlFileEntry2.fileEntryId) />
460 <#assign assetRenderer = assetEntry.assetRenderer />
461 <#assign imagen3 = assetRenderer.getURLDownload(themeDisplay) />
462
463
464
465 </#if>
466 </#if>
467
468 <#assign selectorTitular = saxReaderUtil.createXPath("dynamic-element[@name='Titular']") />
469 <#if selectorTitular.selectSingleNode(rootElement)?has_content>
470 <#assign titularRelacionada = selectorTitular.selectSingleNode(rootElement).getStringValue()?replace(""", "") />
471 </#if>
472
473
474 <li class="li-slider">
475 <a class="a-related" href="/-/${noticiaRel.getUrlTitle()}">
476 <div class="div-related" style="min-height:200px;max-height:300px;">
477 <img src="${imagen3}" alt="" style="width: 260px; height: 200px;">
478 </div>
479 <span>${titularRelacionada}</span>
480 </a>
481 </li>
482 <#assign contNoticias = contNoticias + 1 />
483 <#if (contNoticias == 8) >
484 <#break>
485 </#if>
486
487 </#list>
488 </ul>
489 </div>
490 </div>
491
492 </div>
493 </div>
494 </#if> <#-- if (noticiasRel?size>0) -->
495 </#if> <#-- relatedEntries?has_content -->
496
497 <#if listCategory[0].getCategoryId()?? && !relatedEntries?has_content>
498 <#assign entries = commonUtilsApi.findRelatedContentByStructure(themeDisplay.getCompanyId(),themeDisplay.getUserId(),themeDisplay.getScopeGroupId(),categoryId,"${journalArticle.getDDMStructureKey()}",0,8)/>
499
500 <#if entries?has_content>
501 <div id="relatedByCategory" class="row" style=" background-color: #e0e0e0;">
502 <div class="col-xs-12">
503 <div class="row">
504 <div class="col-xs-12">
505 <h3><@liferay.language key="noticias.relacionadas" /></h3>
506 </div>
507 </div>
508 <div class="row">
509 <div class="col-xs-12">
510
511 <ul id="categorySlider">
512 <#list entries as noticiaAsset>
513
514
515 <#assign noticiaRel = journalArticleLocalService.fetchLatestArticle(getterUtil.getLong(noticiaAsset.getField("entryClassPK").getValue())) />
516 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg">
517
518 <#assign rootElement = saxReaderUtil.read(noticiaRel.getContentByLocale(locale)).getRootElement() />
519 <#assign selectorTipo = saxReaderUtil.createXPath("dynamic-element[@name='tituloRecurso']/dynamic-element[@name='tipoRecurso']") />
520
521 <#assign selector = saxReaderUtil.createXPath("dynamic-element[@name='tituloRecurso']/dynamic-element[@name='multimedia']") />
522 <#assign document = saxReaderUtil.read(noticiaRel.getContentByLocale(locale))>
523
524
525 <#if selectorTipo.selectSingleNode(rootElement)?has_content>
526 <#assign tipo = selectorTipo.selectSingleNode(rootElement).getStringValue()?replace(""", "") />
527 </#if>
528 <#if (tipo?? && tipo?trim == "imagen") && selector.selectSingleNode(rootElement)?has_content>
529 <#assign jsonObjectString = document.valueOf("//dynamic-element[@name='multimedia']/dynamic-content/text()") />
530 <#if jsonObjectString?has_content >
531 <#assign jsonObject = jsonObjectString?eval>
532 <#assign entryUuid = jsonObject.uuid />
533 <#assign entryGroupId = getterUtil.getLong(jsonObject.groupId) />
534 <#assign dlFileEntry = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) />
535 <#assign assetEntry = AssetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry",dlFileEntry.fileEntryId) />
536 <#assign assetRenderer = assetEntry.assetRenderer />
537 <#assign imagen = assetRenderer.getURLDownload(themeDisplay) />
538
539 </#if>
540 </#if>
541
542 <#assign selectorTitular = saxReaderUtil.createXPath("dynamic-element[@name='Titular']") />
543 <#if selectorTitular.selectSingleNode(rootElement)?has_content>
544 <#assign titularRelacionada = selectorTitular.selectSingleNode(rootElement).getStringValue()?replace(""", "") />
545 </#if>
546 <#if "/-/"+noticiaRel.getUrlTitle() != themeDisplay.getURLCurrent()>
547 <li>
548 <#if lang == "es_ES">
549 <#assign urlTitularRel = "/cas/actualidad/-/content/${noticiaRel.getUrlTitle()}"/>
550 <a class="a-related" href="${urlTitularRel}">
551 <div class="div-related" style="min-height:200px;max-height:300px;">
552 <img src="${imagen}" alt="" style="width: 100%;">
553 </div>
554 <span>${titularRelacionada}</span>
555 </a>
556 <#elseif lang == "ca_ES" >
557 <#assign urlTitularRel = "/val/actualitat/-/content/${noticiaRel.getUrlTitle()}"/>
558 <a class="a-related" href="${urlTitularRel}">
559 <div class="div-related" style="min-height:200px;max-height:300px;">
560 <img src="${imagen}" alt="" style="width: 100%;">
561 </div>
562 <span>${titularRelacionada}</span>
563 </a>
564 <#else>
565 <#assign urlTitularRel = "/val/actualitat/-/content/${noticiaRel.getUrlTitle()}"/>
566 <a class="a-related" href="${urlTitularRel}">
567 <div class="div-related" style="min-height:200px;max-height:300px;">
568 <img src="${imagen}" alt="" style="width: 100%;">
569 </div>
570 <span>${titularRelacionada}</span>
571 </a>
572 </#if>
573 </li>
574 </#if>
575
576 </#list>
577 </ul>
578
579 </div>
580 </div>
581
582 </div>
583 </div>
584 </#if> <#-- if entries?has_content -->
585 </#if> <#-- if listCategory[0].getCategoryId()?? && !relatedEntries?has_content -->
586
587 </div> <!-- class = "noticia-contenido-related-content" -->
588
589
590</div> <!-- class="container noticia-contenido" -->
591
592<script type="text/javascript">
593
594$(document).ready(function() {
595 var backUrl = "${backUrl}";
596 var titularSanitized = encodeURIComponent("${Titular.getData()}");
597
598 // Modificamos los enlaces de los social media buttons
599 var urlNoticiaActual = window.location.href;
600
601 var enlaceWhatsapp = document.getElementById("enlace-whatsapp");
602 var cadenaWhatsapp = "whatsapp://send?text=";
603 enlaceWhatsapp.setAttribute("href", cadenaWhatsapp.concat(urlNoticiaActual));
604
605 var enlaceTwitter = document.getElementById("enlace-twitter");
606 var cadenaTwitter = "https://twitter.com/intent/tweet?original_referer=";
607 cadenaTwitter = cadenaTwitter.concat(urlNoticiaActual);
608 cadenaTwitter = cadenaTwitter.concat("&text=").concat(titularSanitized).concat(" ").concat(urlNoticiaActual);
609 cadenaTwitter = cadenaTwitter.concat("&via=AjuntamentVLC");
610 enlaceTwitter.setAttribute("href", cadenaTwitter);
611
612 var enlaceFacebook = document.getElementById("enlace-facebook");
613 var cadenaFacebook = "http://www.facebook.com/sharer/sharer.php?u=";
614 enlaceFacebook.setAttribute("href", cadenaFacebook.concat(urlNoticiaActual));
615
616 var enlaceEmail = document.getElementById("enlace-email");
617 var cadenaEmail = enlaceEmail.getAttribute("href");
618 enlaceEmail.setAttribute("href", cadenaEmail.concat(urlNoticiaActual));
619
620 var imgsSlider = $("#imgsSlider").lightSlider({
621 item:1,
622 autoWidth: false,
623 mode: "slide",
624 slideMove: 1,
625 speed: 2000, //ms'
626 auto: true,
627 loop: true,
628 slideEndAnimation: true,
629 pause: 5000,
630
631 keyPress: false,
632 controls: true,
633 prevHtml: '<i class="fa fa-chevron-left"> </i>',
634 nextHtml: '<i class="fa fa-chevron-right"> </i>',
635 vertical:false,
636
637 thumbItem:10,
638 pager: false,
639 gallery: false,
640 currentPagerPosition: 'middle',
641
642 enableTouch:true,
643 enableDrag:true,
644 freeMove:true,
645 swipeThreshold: 40,
646 responsive : [{
647 breakpoint:1200,
648 settings: {
649 item:1,
650 }
651 },
652 {
653 breakpoint:800,
654 settings: {
655 item:1,
656 slideMove: 1,
657 }
658 },
659 {
660 breakpoint:480,
661 settings: {
662 item:1,
663 slideMove: 1,
664 }
665 }],
666
667 onBeforeStart: function (el) {},
668 onSliderLoad: function (el) {},
669 onBeforeSlide: function (el) {},
670 onAfterSlide: function (el) {},
671 onBeforeNextSlide: function (el) {},
672 onBeforePrevSlide: function (el) {}
673
674 });
675 var sliderImgVid = $("#imgsVidsSlider").lightSlider({
676 item:4,
677 autoWidth: false,
678 mode: "slide",
679 slideMove: 2,
680 speed: 500, //ms'
681 auto: true,
682 loop: true,
683 slideEndAnimation: true,
684 pause: 2000,
685
686 keyPress: false,
687 controls: true,
688 prevHtml: '<i class="fa fa-chevron-left"> </i>',
689 nextHtml: '<i class="fa fa-chevron-right"> </i>',
690 vertical:false,
691
692 thumbItem:10,
693 pager: true,
694 gallery: false,
695 currentPagerPosition: 'middle',
696
697 enableTouch:true,
698 enableDrag:true,
699 freeMove:true,
700 swipeThreshold: 40,
701 responsive : [{
702 breakpoint:1200,
703 settings: {
704 item:4,
705 }
706 },
707 {
708 breakpoint:800,
709 settings: {
710 item:3,
711 slideMove: 1,
712 }
713 },
714 {
715 breakpoint:480,
716 settings: {
717 item:1,
718 slideMove: 1,
719 }
720 }],
721
722 onBeforeStart: function (el) {},
723 onSliderLoad: function (el) {},
724 onBeforeSlide: function (el) {},
725 onAfterSlide: function (el) {},
726 onBeforeNextSlide: function (el) {},
727 onBeforePrevSlide: function (el) {}
728
729 });
730 var slider = $("#categorySlider").lightSlider({
731 item:4,
732 autoWidth: false,
733 mode: "slide",
734 slideMove: 1,
735 speed: 2000, //ms'
736 auto: true,
737 loop: true,
738 slideEndAnimation: false,
739 pause: 6000,
740
741 keyPress: true,
742 controls: true,
743 prevHtml: '<i class="fa fa-chevron-left"> </i>',
744 nextHtml: '<i class="fa fa-chevron-right"> </i>',
745 vertical:false,
746
747 thumbItem:10,
748 pager: true,
749 gallery: false,
750 currentPagerPosition: 'middle',
751
752 enableTouch:true,
753 enableDrag:true,
754 freeMove:true,
755 swipeThreshold: 40,
756 responsive : [{
757 breakpoint:1200,
758 settings: {
759 item:3,
760 }
761 },
762 {
763 breakpoint:990,
764 settings: {
765 item:2,
766 slideMove: 1,
767 }
768 },
769 {
770 breakpoint:768,
771 settings: {
772 item:1,
773 slideMove: 1,
774 }
775 }],
776
777 onBeforeStart: function (el) {},
778 onSliderLoad: function (el) {},
779 onBeforeSlide: function (el) {},
780 onAfterSlide: function (el) {},
781 onBeforeNextSlide: function (el) {},
782 onBeforePrevSlide: function (el) {}
783
784 });
785
786 // añade play/pause a botones inferiores del carrusel
787 $('.lSPager').wrap('<div class="slider-dots-wrapper"></div>');
788 $('.slider-dots-wrapper').prepend('<span class="btn-play glyphicon">');
789 $('.btn-play').on('click', function () {
790 if ($('.btn-play').hasClass('btn-play-paused') ) {
791 slider.play();
792 } else {
793 slider.pause();
794 }
795 $('.btn-play').toggleClass('btn-play-paused');
796 });
797
798 jQuery.urlParam = function(name){
799 var results = new RegExp('[?&]' + name + '=([^&#]*)').exec(window.location.href);
800 return results?results[1]:0;
801 }
802
803 var redirectParam = jQuery.urlParam("redirect");
804 $(".volver").on("click", function(){
805 if(redirectParam !== 0){
806 window.location.href = decodeURIComponent(redirectParam);
807 }else if(backUrl != ""){
808 window.location.href = backUrl;
809 }else{
810 history.go(-1);
811 }
812 });
813
814 $('.div-multimedia').click(function(){
815 $('.contenido-multimedia').toggle();
816 });
817
818 $('.lexicon-icon-share-alt').replaceWith('<img class="img-compartir" src="${themeImagesPath}/icons/icono_compartir.svg">')
819 var shareButtons = $('.pull-right');
820 $('.div-share').append(shareButtons);
821
822 $('.clone').css("text-align","left");
823
824});
825
826 $(document).on('click', '[data-toggle="lightbox"]', function(event) {
827 event.preventDefault();
828 $(this).ekkoLightbox({
829 alwaysShowClose:true
830 });
831 });
832
833 // modifica title en head del html
834 document.title = "${Titular.getData()}";
835
836 function showpics()
837 {var a=$("#box").val();$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags="+a+"&tagmode=any&format=json&jsoncallback=?",function(a)
838 {$("#images").hide().html(a).fadeIn("fast"),$.each(a.items,function(a,e){$("<img/>").attr("src",e.media.m).appendTo("#images")})})}
839</script>
840<style>
841 .noticia-contenido-related-content {
842 font-size: 0.9em;
843 clear: both;
844 }
845 .fa {
846 margin-right: 0.7em;
847 }
848 .noticia-date {
849 padding-top: 15px !important;
850 }
851 .compartir-redes-sociales ul {
852 background-color: transparent;
853 }
854 #compartir {
855 width: 50 !important;
856 float: right !important;
857 }
858 .dateRedes {
859 margin-bottom: 3%;
860 }
861 .listaCategoriasCabecera {
862 display: flex;
863 margin-top: 10px;
864 margin-bottom: 10px;
865 list-style: none;
866 }
867 .itemCategoria::before {
868 content: "2022";
869 color: #ffcd00;
870 font-size: 90px;
871 line-height: 0;
872 }
873 .enlaceCategoria {
874 display: block;
875 margin-top: -41px;
876 padding-left: 30px;
877 }
878 picture {
879 display:none;
880 }
881 .lSSlideOuter .lSPager.lSpg>li.active a, .lSSlideOuter .lSPager.lSpg>li:hover a {
882 background-color: #ffcd00;
883 }
884 .btn-default {
885 background-color: black;
886 }
887
888 .noticia-contenido .slider-img {
889 max-height: 38em !important;
890 }
891
892 .container-flickr {
893 height: 520px;
894 width: 100%;
895 padding: 0;
896 margin: 0;
897 }
898
899 .iframe-flickr {
900 width:100%;
901 height:100%;
902 }
903
904 .a-flickr {
905 text-align:center;
906 margin-top:1em;
907 }
908
909 #relatedByCategory h3 {
910 margin-top: 0.5rem;
911 }
912 #relatedByCategory .lslide .a-related span,
913 #relatedByCategory .clone .a-related span {
914 font-family:Montserrat-SemiBold;
915 display: block;
916 margin-top: 5px;
917 }
918
919 .slider-dots-wrapper {
920 text-align: center;
921 }
922 .noticia-contenido-related-content .btn-play {
923 color: #222;
924 display: inline-block;
925 font-size: 13px;
926 }
927 .noticia-contenido-related-content .btn-play:hover {
928 cursor: pointer;
929 }
930 .noticia-contenido-related-content .btn-play:before {
931 content: "e073";
932 }
933 .noticia-contenido-related-content .btn-play-paused:before {
934 content: "e072";
935 }
936 .lSSlideOuter .lSPager.lSpg {
937 display: inline-block;
938 }
939 .lSSlideOuter .lSPager.lSpg>li a {
940 width: 10px;
941 height: 10px;
942 }
943
944
945</style>
[ad_2]