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