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