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@79ba8228"; 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 539, 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 ${Subtitulo.getData()}
234 </p>
235 </div>
236
237 <div>
238 ${descripcion.getData()}
239 </div>
240
241 <#assign article = JournalArticleLocalService.fetchArticle(getterUtil.getLong(scopeId), contentId)>
242
243
244 <!-- Título Recursos Multimedia -->
245 <#assign contitulo = "false">
246 <#if tituloRecurso?? && (tituloRecurso.getSiblings()?size>0)>
247
248 <#list tituloRecurso.getSiblings() as cur_Recurso>
249 <#if cur_Recurso?is_last && cur_Recurso.getData()?? && cur_Recurso.getData() != "" && cur_Recurso.tipoRecurso.getData() != "imagen" >
250 <div class="row">
251 <div class="col-xs-12 div-multimedia">
252 <h3><@liferay.language key="noticias.multimedia" /></h3>
253 </div>
254 </div>
255 <#assign contitulo = "true">
256 </#if>
257 </#list>
258
259 </#if>
260
261 <#if enlaceFlickr?has_content && enlaceFlickr.getData()?has_content>
262 <#if contitulo == "false">
263 <div class="row">
264 <div class="col-xs-12 div-multimedia">
265 <h3><@liferay.language key="noticias.multimedia" /></h3>
266 </div>
267 </div>
268 </#if>
269 <div class="container-flickr">
270 <#assign album = enlaceFlickr.getData()?substring(enlaceFlickr.getData()?last_index_of("/")+1)>
271 <iframe class="iframe-flickr"
272 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"
273 scrolling="no" frameborder="0" allowFullScreen="true" webkitallowfullscreen="true" mozallowfullscreen="true">
274 </iframe>
275 </div>
276 <a class="a-flickr" href="${enlaceFlickr.getData()}" target="_blank"><p><strong><@liferay.language key="noticias-imagenes-flickr"/></strong></p></a>
277 </#if>
278 </div>
279
280 </div>
281
282
283 <!--Carousel con videos e imágenes-->
284 <#assign continua = "false"/>
285 <#if enlaceYoutube?? && (enlaceYoutube.getSiblings()?size >= 1)>
286 <#list enlaceYoutube.getSiblings() as cur_enlaceYoutube>
287 <#if cur_enlaceYoutube?index == 0 && cur_enlaceYoutube.getData()?? && cur_enlaceYoutube.getData() != "">
288 <div class="row">
289 <div class="col-xs-12 div-multimedia">
290 <h3><@liferay.language key="noticias.galeria" /></h3>
291 </div>
292 </div>
293 <ul class="ul-imgVid" id="imgsVidsSlider">
294 <#assign continua = "true"/>
295 </#if>
296 <#if continua=="true">
297 <#if cur_enlaceYoutube?index != 0 && cur_enlaceYoutube.getData()?? && cur_enlaceYoutube.getData() != "">
298 <#assign urlVid = cur_enlaceYoutube.getData()/>
299 <#assign urlVid = urlVid?replace("watch?v=","embed/")/>
300 <li class="li-imgVid" href="${urlVid}" data-toggle="lightbox" data-gallery="mixedgallery" data-type="youtube">
301
302 <iframe class="slider-imgVid" src="${urlVid}"allowfullscreen></iframe>
303 </li>
304 </#if>
305 </#if>
306 </#list>
307 <#if continua=="true">
308 <#if (cont > 0)>
309 <#list tituloRecurso.getSiblings() as cur_vImagen>
310 <#if cur_vImagen.tipoRecurso.getData() == "imagen" && cur_vImagen.multimedia.getData() != "">
311 <li class="li-imgVid" href="${cur_vImagen.multimedia.getData()}" data-toggle="lightbox" data-gallery="mixedgallery" data-type="image">
312 <#assign imageJson = jsonFactoryUtil.createJSONObject(cur_vImagen.multimedia.data)>
313 <#assign imageClassPK = imageJson.getString("classPK")>
314 <@adaptive_media_image["img"] alt="" fileVersion=dlAppServiceUtil.getFileEntry(imageClassPK?number).getFileVersion()/>
315 <img class="slider-imgVid" alt="" src="${cur_vImagen.multimedia.getData()}" />
316 </li>
317 </#if>
318 </#list>
319 </#if>
320 </#if>
321 </ul>
322 </#if>
323
324
325 <!--Recursos Multimedia-->
326 <#if tituloRecurso?? && (tituloRecurso.getSiblings()?size>0)>
327
328 <#list tituloRecurso.getSiblings() as cur_RecursoLista>
329 <#assign contiene = "false" />
330 <#if cur_RecursoLista.tipoRecurso.getData() != "imagen">
331 <#if cur_RecursoLista.getData()?? && cur_RecursoLista.getData() != "">
332 <#assign titulo = cur_RecursoLista.getData()/>
333 <#assign contiene = "true" />
334 </#if>
335 <#if contiene == "true">
336 <#if cur_RecursoLista.tipoRecurso.getData()?? && cur_RecursoLista.tipoRecurso.getData() != "">
337 <#if cur_RecursoLista.tipoRecurso.getData()?? && cur_RecursoLista.tipoRecurso.getData() == "audio">
338 <#assign icono = "audio" />
339 <#elseif cur_RecursoLista.tipoRecurso.getData()?? && cur_RecursoLista.tipoRecurso.getData() == "imagen">
340 <#assign icono = "imagen" />
341 <#elseif cur_RecursoLista.tipoRecurso.getData()?? && cur_RecursoLista.tipoRecurso.getData() == "documento">
342 <#assign icono = "documento" />
343 <#elseif cur_RecursoLista.tipoRecurso.getData()?? && cur_RecursoLista.tipoRecurso.getData() == "video">
344 <#assign icono = "video" />
345 <#else>
346 <#assign icono = "" />
347 </#if>
348 </#if>
349 <#if cur_RecursoLista.enlaceRecurso?? && cur_RecursoLista.enlaceRecurso.getData()?? && cur_RecursoLista.enlaceRecurso.getData() != "">
350 <#assign enlace = cur_RecursoLista.enlaceRecurso.getData() />
351 <#else>
352 <#assign enlace = "#"/>
353 </#if>
354 </#if>
355 <#if titulo?? && titulo != "">
356
357 <div class="row col-xl-4 col-lg-4 col-md-6" style="position: relative; float: left;">
358 <div class="col-xs-12 contenido-multimedia mb-4">
359
360 <#if browserSniffer.isIe(httpServletRequest)>
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 <#else>
363
364 <#if icono == "audio">
365 <audio src="${cur_RecursoLista.multimedia.getData()}" preload="auto" controls>
366 <img class="icono-multimedia" src="${themeImagesPath}/noticias-icons/${icono}-icon.png"/><a href="${cur_RecursoLista.multimedia.getData()}" title="${titulo}" target="_blank">${titulo}</a>
367 </audio>
368 <div class="row align-items-center ml-3" >
369 <span>${titulo}</span>
370 </div>
371
372 <#elseif icono == "video">
373 <video width="360" height="200" src="${cur_RecursoLista.multimedia.getData()}?version=1.0&videoPreview=1&type=mp4" preload="auto" controls></video>
374 <div class="row align-items-center ml-2" >
375 <a href="${cur_RecursoLista.multimedia.getData()}?version=1.0&videoPreview=1&type=mp4" title="${titulo}" target="_blank">${titulo}</a>
376 </div>
377 <#else>
378 <img class="icono-multimedia" src="${themeImagesPath}/noticias-icons/${icono}-icon.png"/><a href="${cur_RecursoLista.multimedia.getData()}" title="${titulo}" target="_blank">${titulo}</a>
379 </#if>
380
381 </#if>
382
383
384 </div>
385 </div>
386
387 </#if>
388 </#if>
389 </#list>
390 </#if>
391
392
393
394 <!-- buscamos contenidos relacionados -->
395 <div class = "noticia-contenido-related-content">
396
397 <#assign articleEntry = AssetEntryLocalService.getEntry(journalArticleClassname, article.getResourcePrimKey())>
398 <#assign groupIdEntry = articleEntry.getGroupId()>
399
400 <#assign relatedEntries = AssetLinkLocalService.getDirectLinks(articleEntry.getEntryId()) >
401 <#assign listCategory = assetCategoryService.getAssetEntryAssetCategories(articleEntry.getEntryId()) >
402
403 <#assign noticiasRel = []/>
404 <#if relatedEntries?has_content>
405 <#assign ddmKeyNoticia = "156671" >
406 <#list relatedEntries as relatedAsset>
407 <#assign relatedEntry = AssetEntryLocalService.getEntry(relatedAsset.getEntryId2()) >
408 <#assign entryClassPK = relatedEntry.getClassPK() >
409
410 <#assign journalArticleClassname = "com.liferay.journal.model.JournalArticle" >
411 <#if journalArticleClassname==relatedEntry.getClassName() >
412 <#assign relatedArticle = JournalArticleLocalService.fetchLatestArticle(entryClassPK) >
413 </#if>
414 <#if relatedArticle.getDDMStructureKey() == ddmKeyNoticia >
415 <#assign noticiasRel = noticiasRel + [relatedArticle] />
416 </#if>
417 </#list>
418 <#if (noticiasRel?size>0)>
419 <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;">
420 <div class="col-xs-12">
421 <div class="row">
422 <div class="col-xs-12">
423 <h3><@liferay.language key="noticias.relacionadas" /></h3>
424 </div>
425 </div>
426 <div class="row">
427 <div class="col-xs-12">
428 <#assign contNoticias = 0 />
429
430 <ul id="categorySlider">
431 <#list noticiasRel as noticiaRel>
432
433 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg">
434
435 <#assign rootElement = saxReaderUtil.read(noticiaRel.getContentByLocale(locale)).getRootElement() />
436 <#assign selectorTipo = saxReaderUtil.createXPath("dynamic-element[@name='tituloRecurso']/dynamic-element[@name='tipoRecurso']") />
437
438 <#assign selector = saxReaderUtil.createXPath("dynamic-element[@name='tituloRecurso']/dynamic-element[@name='multimedia']") />
439 <#assign document = saxReaderUtil.read(relatedArticle.getContentByLocale(locale))>
440
441
442 <#if selectorTipo.selectSingleNode(rootElement)?has_content>
443 <#assign tipo = selectorTipo.selectSingleNode(rootElement).getStringValue()?replace("\"", "") />
444 </#if>
445 <#if (tipo?? && tipo?trim == "imagen") && selector.selectSingleNode(rootElement)?has_content>
446 <#assign jsonObjectString = document.valueOf("//dynamic-element[@name='multimedia']/dynamic-content/text()") />
447 <#if jsonObjectString?has_content>
448 <#assign jsonObject = jsonObjectString?eval>
449 <#assign entryUuid = jsonObject.uuid />
450 <#assign entryGroupId = getterUtil.getLong(jsonObject.groupId) />
451 <#assign dlFileEntry = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) />
452 <#assign assetEntry = AssetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry",dlFileEntry.fileEntryId) />
453 <#assign assetRenderer = assetEntry.assetRenderer />
454 <#assign imagen = assetRenderer.getURLDownload(themeDisplay) />
455
456 <#assign imagen2 = noticiasRel[contNoticias] />
457
458 <#assign document2 = saxReaderUtil.read(imagen2.getContentByLocale(locale))>
459 <#assign jsonObjectString2 = document2.valueOf("//dynamic-element[@name='multimedia']/dynamic-content/text()") />
460 <#assign jsonObject2 = jsonObjectString2?eval>
461 <#assign entryUuid2 = jsonObject2.uuid />
462 <#assign entryGroupId2 = getterUtil.getLong(jsonObject2.groupId) />
463 <#assign dlFileEntry2 = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid2, entryGroupId2) />
464 <#assign assetEntry = AssetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry",dlFileEntry2.fileEntryId) />
465 <#assign assetRenderer = assetEntry.assetRenderer />
466 <#assign imagen3 = assetRenderer.getURLDownload(themeDisplay) />
467
468
469
470 </#if>
471 </#if>
472
473 <#assign selectorTitular = saxReaderUtil.createXPath("dynamic-element[@name='Titular']") />
474 <#if selectorTitular.selectSingleNode(rootElement)?has_content>
475 <#assign titularRelacionada = selectorTitular.selectSingleNode(rootElement).getStringValue()?replace("\"", "") />
476 </#if>
477
478
479 <li class="li-slider">
480 <a class="a-related" href="/-/${noticiaRel.getUrlTitle()}">
481 <div class="div-related" style="min-height:200px;max-height:300px;">
482 <img src="${imagen3}" alt="" style="width: 260px; height: 200px;">
483 </div>
484 <span>${titularRelacionada}</span>
485 </a>
486 </li>
487 <#assign contNoticias = contNoticias + 1 />
488 <#if (contNoticias == 8) >
489 <#break>
490 </#if>
491
492 </#list>
493 </ul>
494 </div>
495 </div>
496
497 </div>
498 </div>
499 </#if> <#-- if (noticiasRel?size>0) -->
500 </#if> <#-- relatedEntries?has_content -->
501
502 <#if listCategory[0].getCategoryId()?? && !relatedEntries?has_content>
503 <#assign entries = commonUtilsApi.findRelatedContentByStructure(themeDisplay.getCompanyId(),themeDisplay.getUserId(),themeDisplay.getScopeGroupId(),categoryId,"${journalArticle.getDDMStructureKey()}",0,8)/>
504
505 <#if entries?has_content>
506 <div id="relatedByCategory" class="row" style=" background-color: #e0e0e0;">
507 <div class="col-xs-12">
508 <div class="row">
509 <div class="col-xs-12">
510 <h3><@liferay.language key="noticias.relacionadas" /></h3>
511 </div>
512 </div>
513 <div class="row">
514 <div class="col-xs-12">
515
516 <ul id="categorySlider">
517 <#list entries as noticiaAsset>
518
519
520 <#assign noticiaRel = journalArticleLocalService.fetchLatestArticle(getterUtil.getLong(noticiaAsset.getField("entryClassPK").getValue())) />
521 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg">
522
523 <#assign rootElement = saxReaderUtil.read(noticiaRel.getContentByLocale(locale)).getRootElement() />
524 <#assign selectorTipo = saxReaderUtil.createXPath("dynamic-element[@name='tituloRecurso']/dynamic-element[@name='tipoRecurso']") />
525
526 <#assign selector = saxReaderUtil.createXPath("dynamic-element[@name='tituloRecurso']/dynamic-element[@name='multimedia']") />
527 <#assign document = saxReaderUtil.read(noticiaRel.getContentByLocale(locale))>
528
529
530 <#if selectorTipo.selectSingleNode(rootElement)?has_content>
531 <#assign tipo = selectorTipo.selectSingleNode(rootElement).getStringValue()?replace("\"", "") />
532 </#if>
533 <#if (tipo?? && tipo?trim == "imagen") && selector.selectSingleNode(rootElement)?has_content>
534 <#assign jsonObjectString = document.valueOf("//dynamic-element[@name='multimedia']/dynamic-content/text()") />
535 <#if jsonObjectString?has_content >
536 <#assign jsonObject = jsonObjectString?eval>
537 <#assign entryUuid = jsonObject.uuid />
538 <#assign entryGroupId = getterUtil.getLong(jsonObject.groupId) />
539 <#assign dlFileEntry = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) />
540 <#assign assetEntry = AssetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry",dlFileEntry.fileEntryId) />
541 <#assign assetRenderer = assetEntry.assetRenderer />
542 <#assign imagen = assetRenderer.getURLDownload(themeDisplay) />
543
544 </#if>
545 </#if>
546
547 <#assign selectorTitular = saxReaderUtil.createXPath("dynamic-element[@name='Titular']") />
548 <#if selectorTitular.selectSingleNode(rootElement)?has_content>
549 <#assign titularRelacionada = selectorTitular.selectSingleNode(rootElement).getStringValue()?replace("\"", "") />
550 </#if>
551 <#if "/-/"+noticiaRel.getUrlTitle() != themeDisplay.getURLCurrent()>
552 <li>
553 <#if lang == "es_ES">
554 <#assign urlTitularRel = "/cas/actualidad/-/content/${noticiaRel.getUrlTitle()}"/>
555 <a class="a-related" href="${urlTitularRel}">
556 <div class="div-related" style="min-height:200px;max-height:300px;">
557 <img src="${imagen}" alt="" style="width: 100%;">
558 </div>
559 <span>${titularRelacionada}</span>
560 </a>
561 <#elseif lang == "ca_ES" >
562 <#assign urlTitularRel = "/val/actualitat/-/content/${noticiaRel.getUrlTitle()}"/>
563 <a class="a-related" href="${urlTitularRel}">
564 <div class="div-related" style="min-height:200px;max-height:300px;">
565 <img src="${imagen}" alt="" style="width: 100%;">
566 </div>
567 <span>${titularRelacionada}</span>
568 </a>
569 <#else>
570 <#assign urlTitularRel = "/val/actualitat/-/content/${noticiaRel.getUrlTitle()}"/>
571 <a class="a-related" href="${urlTitularRel}">
572 <div class="div-related" style="min-height:200px;max-height:300px;">
573 <img src="${imagen}" alt="" style="width: 100%;">
574 </div>
575 <span>${titularRelacionada}</span>
576 </a>
577 </#if>
578 </li>
579 </#if>
580
581 </#list>
582 </ul>
583
584 </div>
585 </div>
586
587 </div>
588 </div>
589 </#if> <#-- if entries?has_content -->
590 </#if> <#-- if listCategory[0].getCategoryId()?? && !relatedEntries?has_content -->
591
592 </div> <!-- class = "noticia-contenido-related-content" -->
593
594
595</div> <!-- class="container noticia-contenido" -->
596
597
598<@liferay_portlet["runtime"] portletName="socialnetwork_share_Actualidad_SocialnetworkSharePortlet" />
599
600<script type="text/javascript">
601
602$(document).ready(function() {
603 var backUrl = "${backUrl}";
604 var titularSanitized = encodeURIComponent("${Titular.getData()}");
605
606 // Modificamos los enlaces de los social media buttons
607 var urlNoticiaActual = "${urlArticleNoContext}";
608
609 var enlaceWhatsapp = document.getElementById("enlace-whatsapp");
610 var cadenaWhatsapp = "whatsapp://send?text=";
611 enlaceWhatsapp.setAttribute("href", cadenaWhatsapp.concat(urlNoticiaActual));
612
613 var enlaceTwitter = document.getElementById("enlace-twitter");
614 var cadenaTwitter = "https://twitter.com/intent/tweet?original_referer=";
615 cadenaTwitter = cadenaTwitter.concat(urlNoticiaActual);
616 cadenaTwitter = cadenaTwitter.concat("&text=").concat(titularSanitized).concat(" ").concat(urlNoticiaActual);
617 cadenaTwitter = cadenaTwitter.concat("&via=AjuntamentVLC");
618 enlaceTwitter.setAttribute("href", cadenaTwitter);
619
620 var enlaceFacebook = document.getElementById("enlace-facebook");
621 var cadenaFacebook = "http://www.facebook.com/sharer/sharer.php?u=";
622 enlaceFacebook.setAttribute("href", cadenaFacebook.concat(urlNoticiaActual));
623
624 var enlaceEmail = document.getElementById("enlace-email");
625 var cadenaEmail = enlaceEmail.getAttribute("href");
626 enlaceEmail.setAttribute("href", cadenaEmail.concat(urlNoticiaActual));
627
628 var imgsSlider = $("#imgsSlider").lightSlider({
629 item:1,
630 autoWidth: false,
631 mode: "slide",
632 slideMove: 1,
633 speed: 2000, //ms'
634 auto: true,
635 loop: true,
636 slideEndAnimation: true,
637 pause: 5000,
638
639 keyPress: false,
640 controls: true,
641 prevHtml: '<i class="fa fa-chevron-left"> </i>',
642 nextHtml: '<i class="fa fa-chevron-right"> </i>',
643 vertical:false,
644
645 thumbItem:10,
646 pager: false,
647 gallery: false,
648 currentPagerPosition: 'middle',
649
650 enableTouch:true,
651 enableDrag:true,
652 freeMove:true,
653 swipeThreshold: 40,
654 responsive : [{
655 breakpoint:1200,
656 settings: {
657 item:1,
658 }
659 },
660 {
661 breakpoint:800,
662 settings: {
663 item:1,
664 slideMove: 1,
665 }
666 },
667 {
668 breakpoint:480,
669 settings: {
670 item:1,
671 slideMove: 1,
672 }
673 }],
674
675 onBeforeStart: function (el) {},
676 onSliderLoad: function (el) {},
677 onBeforeSlide: function (el) {},
678 onAfterSlide: function (el) {},
679 onBeforeNextSlide: function (el) {},
680 onBeforePrevSlide: function (el) {}
681
682 });
683 var sliderImgVid = $("#imgsVidsSlider").lightSlider({
684 item:4,
685 autoWidth: false,
686 mode: "slide",
687 slideMove: 2,
688 speed: 500, //ms'
689 auto: true,
690 loop: true,
691 slideEndAnimation: true,
692 pause: 2000,
693
694 keyPress: false,
695 controls: true,
696 prevHtml: '<i class="fa fa-chevron-left"> </i>',
697 nextHtml: '<i class="fa fa-chevron-right"> </i>',
698 vertical:false,
699
700 thumbItem:10,
701 pager: true,
702 gallery: false,
703 currentPagerPosition: 'middle',
704
705 enableTouch:true,
706 enableDrag:true,
707 freeMove:true,
708 swipeThreshold: 40,
709 responsive : [{
710 breakpoint:1200,
711 settings: {
712 item:4,
713 }
714 },
715 {
716 breakpoint:800,
717 settings: {
718 item:3,
719 slideMove: 1,
720 }
721 },
722 {
723 breakpoint:480,
724 settings: {
725 item:1,
726 slideMove: 1,
727 }
728 }],
729
730 onBeforeStart: function (el) {},
731 onSliderLoad: function (el) {},
732 onBeforeSlide: function (el) {},
733 onAfterSlide: function (el) {},
734 onBeforeNextSlide: function (el) {},
735 onBeforePrevSlide: function (el) {}
736
737 });
738 var slider = $("#categorySlider").lightSlider({
739 item:4,
740 autoWidth: false,
741 mode: "slide",
742 slideMove: 1,
743 speed: 2000, //ms'
744 auto: true,
745 loop: true,
746 slideEndAnimation: false,
747 pause: 6000,
748
749 keyPress: true,
750 controls: true,
751 prevHtml: '<i class="fa fa-chevron-left"> </i>',
752 nextHtml: '<i class="fa fa-chevron-right"> </i>',
753 vertical:false,
754
755 thumbItem:10,
756 pager: true,
757 gallery: false,
758 currentPagerPosition: 'middle',
759
760 enableTouch:true,
761 enableDrag:true,
762 freeMove:true,
763 swipeThreshold: 40,
764 responsive : [{
765 breakpoint:1200,
766 settings: {
767 item:3,
768 }
769 },
770 {
771 breakpoint:990,
772 settings: {
773 item:2,
774 slideMove: 1,
775 }
776 },
777 {
778 breakpoint:768,
779 settings: {
780 item:1,
781 slideMove: 1,
782 }
783 }],
784
785 onBeforeStart: function (el) {},
786 onSliderLoad: function (el) {},
787 onBeforeSlide: function (el) {},
788 onAfterSlide: function (el) {},
789 onBeforeNextSlide: function (el) {},
790 onBeforePrevSlide: function (el) {}
791
792 });
793
794 // añade play/pause a botones inferiores del carrusel
795 $('.lSPager').wrap('<div class="slider-dots-wrapper"></div>');
796 $('.slider-dots-wrapper').prepend('<span class="btn-play glyphicon">');
797 $('.btn-play').on('click', function () {
798 if ($('.btn-play').hasClass('btn-play-paused') ) {
799 slider.play();
800 } else {
801 slider.pause();
802 }
803 $('.btn-play').toggleClass('btn-play-paused');
804 });
805
806 jQuery.urlParam = function(name){
807 var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
808 return results?results[1]:0;
809 }
810
811 var redirectParam = jQuery.urlParam("redirect");
812 $(".volver").on("click", function(){
813 if(redirectParam !== 0){
814 window.location.href = decodeURIComponent(redirectParam);
815 }else if(backUrl != ""){
816 window.location.href = backUrl;
817 }else{
818 history.go(-1);
819 }
820 });
821
822 $('.div-multimedia').click(function(){
823 $('.contenido-multimedia').toggle();
824 });
825
826 $('.lexicon-icon-share-alt').replaceWith('<img class="img-compartir" src="${themeImagesPath}/icons/icono_compartir.svg">')
827 var shareButtons = $('.pull-right');
828 $('.div-share').append(shareButtons);
829
830 $('.clone').css("text-align","left");
831
832});
833
834 $(document).on('click', '[data-toggle="lightbox"]', function(event) {
835 event.preventDefault();
836 $(this).ekkoLightbox({
837 alwaysShowClose:true
838 });
839 });
840
841 // modifica title en head del html
842 document.title = "${Titular.getData()}";
843
844 function showpics()
845 {var a=$("#box").val();$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags="+a+"&tagmode=any&format=json&jsoncallback=?",function(a)
846 {$("#images").hide().html(a).fadeIn("fast"),$.each(a.items,function(a,e){$("<img/>").attr("src",e.media.m).appendTo("#images")})})}
847</script>
848<style>
849 .noticia-contenido-related-content {
850 font-size: 0.9em;
851 clear: both;
852 }
853 .fa {
854 margin-right: 0.7em;
855 }
856 .noticia-date {
857 padding-top: 15px !important;
858 }
859 .compartir-redes-sociales ul {
860 background-color: transparent;
861 }
862 #compartir {
863 width: 50 !important;
864 float: right !important;
865 }
866 .dateRedes {
867 margin-bottom: 3%;
868 }
869 .listaCategoriasCabecera {
870 display: flex;
871 margin-top: 10px;
872 margin-bottom: 10px;
873 list-style: none;
874 }
875 .itemCategoria::before {
876 content: "\2022";
877 color: #ffcd00;
878 font-size: 90px;
879 line-height: 0;
880 }
881 .enlaceCategoria {
882 display: block;
883 margin-top: -41px;
884 padding-left: 30px;
885 }
886
887 .lSSlideOuter .lSPager.lSpg>li.active a, .lSSlideOuter .lSPager.lSpg>li:hover a {
888 background-color: #ffcd00;
889 }
890 .btn-default {
891 background-color: black;
892 }
893
894 .noticia-contenido .slider-img {
895 max-height: 38em !important;
896 }
897
898 .container-flickr {
899 height: 520px;
900 width: 100%;
901 padding: 0;
902 margin: 0;
903 }
904
905 .iframe-flickr {
906 width:100%;
907 height:100%;
908 }
909
910 .a-flickr {
911 text-align:center;
912 margin-top:1em;
913 }
914
915 #relatedByCategory h3 {
916 margin-top: 0.5rem;
917 }
918 #relatedByCategory .lslide .a-related span,
919 #relatedByCategory .clone .a-related span {
920 font-family:Montserrat-SemiBold;
921 display: block;
922 margin-top: 5px;
923 }
924
925 .slider-dots-wrapper {
926 text-align: center;
927 }
928 .noticia-contenido-related-content .btn-play {
929 color: #222;
930 display: inline-block;
931 font-size: 13px;
932 }
933 .noticia-contenido-related-content .btn-play:hover {
934 cursor: pointer;
935 }
936 .noticia-contenido-related-content .btn-play:before {
937 content: "\e073";
938 }
939 .noticia-contenido-related-content .btn-play-paused:before {
940 content: "\e072";
941 }
942 .lSSlideOuter .lSPager.lSpg {
943 display: inline-block;
944 }
945 .lSSlideOuter .lSPager.lSpg>li a {
946 width: 10px;
947 height: 10px;
948 }
949 picture {
950 display:none;
951 }
952
953
954</style>