Portal del Ayuntamiento de la ciudad de Valencia - València
Se ha producido un error al procesar la plantilla.
Java method "com.sun.proxy.$Proxy935.fetchLatestArticle(long)" threw an exception when invoked on com.sun.proxy.$Proxy935 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@10744760"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign article = JournalArticleLocal... [in template "20115#20151#4467918" at line 26, column 33] ----
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
6<#assign contador = 0 >
7<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
8
9<#assign infociudad_publisher_instance = "DFHqZCbLF0Iv" >
10
11
12<div class="container-fluid carousel-container no-cabecera-pt-movil">
13 <div id="myCarouselV1" class="portada-principal carousel slide" data-ride="carousel">
14 <a class="left carousel-control-prev control-flecha" href="#myCarouselV1" data-slide="prev" tabindex="0">
15 <div class="arrow">
16 <span class="vlc-arrow vlc-arrow-left"></span>
17 <span class="sr-only" title="Diapositiva anterior">Diapositiva anterior</span>
18 </div>
19 </a>
20
21 <#assign contador1 = 0 >
22 <#if entries?has_content>
23 <div class="carousel-inner" >
24 <h2 class="ocultovisual"><@liferay.language key="adt-portada-principal-carrusel-noticias-destacadas" /></h2>
25 <#list entries as curEntry>
26 <#assign article = JournalArticleLocalService.fetchLatestArticle(getterUtil.getLong(curEntry.getClassPK())) >
27 <#assign titulo = "" >
28 <#assign descripcion = "" >
29 <#assign urlTitle = article.getUrlTitle() >
30 <#assign url = "/-/${article.getUrlTitle()}" >
31 <#assign urlContext = "">
32 <#assign lang = themeDisplay.getLocale()>
33 <#assign ddmStructureKey = article.getDDMStructureKey() >
34 <#assign rootElement = saxReaderUtil.read(article.getContentByLocale(locale)).getRootElement() />
35
36 <#-- Campanya municipales y Agenda -->
37
38 <#if (ddmStructureKey == "44452") || (ddmStructureKey == "46341")>
39
40 <#-- Campanya municipales -->
41 <#if (ddmStructureKey == "44452")>
42 <#if lang == "es_ES">
43 <#assign urlContext= "/cas/campañas-municipales">
44 <#elseif lang == "ca_ES" >
45 <#assign urlContext= "/val/campanyes-municipals">
46 <#else>
47 <#assign urlContext = "/val/campanyes-municipals">
48 </#if>
49
50 <#assign url = "${urlContext}/-/content/${article.getUrlTitle(locale)}" >
51 </#if>
52
53 <#-- Agenda -->
54 <#if (ddmStructureKey == "46341")>
55 <#if lang == "es_ES">
56 <#assign urlContext= "/cas/agenda-de-la-ciudad">
57 <#elseif lang == "ca_ES" >
58 <#assign urlContext= "/val/agenda-de-la-ciutat">
59 <#else>
60 <#assign urlContext = "/val/agenda-de-la-ciutat">
61 </#if>
62
63 <#assign url = "${urlContext}/-/content/${article.getUrlTitle(locale)}" >
64 </#if>
65
66 <#assign selectorTituloPortada = saxReaderUtil.createXPath("dynamic-element[@name='tituloPortada']") />
67 <#if selectorTituloPortada.selectSingleNode(rootElement)?has_content>
68 <#assign titulo = selectorTituloPortada.selectSingleNode(rootElement).getStringValue()?replace("\"", "")?trim />
69 <#if titulo == "">
70 <#assign titulo = article.getTitle(locale) />
71 </#if>
72 <#else>
73 <#assign titulo = article.getTitle(locale) />
74 </#if>
75
76 <#assign selectorSubtituloPortada = saxReaderUtil.createXPath("dynamic-element[@name='subtituloPortada']") />
77 <#if selectorSubtituloPortada.selectSingleNode(rootElement)?has_content>
78 <#assign descripcion = selectorSubtituloPortada.selectSingleNode(rootElement).getStringValue()?replace("\"", "")?trim />
79 <#if descripcion == "">
80 <#assign descripcion = article.getDescription(locale) />
81 </#if>
82 <#else>
83 <#assign descripcion = article.getDescription(locale) />
84 </#if>
85 <#assign selectorImagenPortada = saxReaderUtil.createXPath("dynamic-element[@name='imagenPortada']") />
86 <#if selectorImagenPortada.selectSingleNode(rootElement)?has_content>
87 <#assign imagen = selectorImagenPortada.selectSingleNode(rootElement).getStringValue()?trim/>
88
89 <#if imagen == "">
90 <#assign selectorImagenCA = saxReaderUtil.createXPath("dynamic-element[@name='imagen']") />
91 <#if selectorImagenCA.selectSingleNode(rootElement)?has_content>
92 <#assign imagen = selectorImagenCA.selectSingleNode(rootElement).getStringValue()?trim/>
93 <#if imagen == "">
94 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg" />
95 <#else>
96 <#assign imagenJSON = imagen?eval >
97 <#assign imagen = "/documents/${imagenJSON.groupId}/${imagenJSON.fileEntryId}/${imagenJSON.name?url('UTF-8')}/${imagenJSON.uuid}" >
98 </#if>
99 <#else>
100 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg" />
101 </#if>
102 <#else>
103 <#assign imagenJSON = imagen?eval >
104 <#assign imagen = "/documents/${imagenJSON.groupId}/${imagenJSON.fileEntryId}/${imagenJSON.name?url('UTF-8')}/${imagenJSON.uuid}" >
105 </#if>
106 <#else>
107 <#assign selectorImagenCA = saxReaderUtil.createXPath("dynamic-element[@name='imagen']") />
108
109 <#if selectorImagenCA.selectSingleNode(rootElement)?has_content>
110 <#assign imagen = selectorImagenCA.selectSingleNode(rootElement).getStringValue()?trim/>
111 <#if imagen == "">
112 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg" />
113 <#else>
114 <#assign imagenJSON = imagen?eval >
115 <#assign imagen = "/documents/${imagenJSON.groupId}/${imagenJSON.fileEntryId}/${imagenJSON.name?url('UTF-8')}/${imagenJSON.uuid}" >
116 </#if>
117 <#else>
118 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg" />
119 </#if>
120 </#if>
121
122 <#-- Noticia actualidad -->
123
124 <#elseif ddmStructureKey == "156671">
125
126 <#if lang == "es_ES">
127 <#assign urlContext= "/cas/actualidad">
128 <#elseif lang == "ca_ES" >
129 <#assign urlContext= "/val/actualitat">
130 <#else>
131 <#assign urlContext = "/val/actualitat">
132 </#if>
133
134 <#assign url = "${urlContext}/-/content/${article.getUrlTitle(locale)}" >
135
136 <#assign selectorTituloPortada = saxReaderUtil.createXPath("dynamic-element[@name='tituloPortada']") />
137 <#if selectorTituloPortada.selectSingleNode(rootElement)?has_content>
138 <#assign titulo = selectorTituloPortada.selectSingleNode(rootElement).getStringValue()?replace("\"", "")?trim />
139 <#if titulo == "">
140 <#assign titulo = article.getTitle(locale) />
141 </#if>
142 <#else>
143 <#assign titulo = article.getTitle(locale) />
144 </#if>
145
146 <#assign selectorSubtituloPortada = saxReaderUtil.createXPath("dynamic-element[@name='subtituloPortada']") />
147 <#if selectorSubtituloPortada.selectSingleNode(rootElement)?has_content>
148 <#assign descripcion = selectorSubtituloPortada.selectSingleNode(rootElement).getStringValue()?replace("\"", "")?trim />
149 <#if descripcion == "">
150 <#assign selectorTitular = saxReaderUtil.createXPath("dynamic-element[@name='Antetitulo']") />
151 <#if selectorTitular.selectSingleNode(rootElement)?has_content>
152 <#assign descripcion = selectorTitular.selectSingleNode(rootElement).getStringValue()?replace("\"", "")?trim />
153 </#if>
154 </#if>
155 <#else>
156 <#assign selectorTitular = saxReaderUtil.createXPath("dynamic-element[@name='Antetitulo']") />
157 <#if selectorTitular.selectSingleNode(rootElement)?has_content>
158 <#assign descripcion = selectorTitular.selectSingleNode(rootElement).getStringValue()?replace("\"", "")?trim />
159 </#if>
160 </#if>
161 <#assign selectorImagenPortada = saxReaderUtil.createXPath("dynamic-element[@name='imagenPortada']") />
162 <#if selectorImagenPortada.selectSingleNode(rootElement)?has_content>
163 <#assign imagen = selectorImagenPortada.selectSingleNode(rootElement).getStringValue()?trim />
164
165 <#if imagen == "">
166 <#assign selectorTipo = saxReaderUtil.createXPath("dynamic-element[@name='tituloRecurso']/dynamic-element[@name='tipoRecurso']") />
167 <#assign selectorMult = saxReaderUtil.createXPath("dynamic-element[@name='tituloRecurso']/dynamic-element[@name='multimedia']") />
168 <#if selectorTipo.selectSingleNode(rootElement)?has_content>
169 <#assign tipo = selectorTipo.selectSingleNode(rootElement).getStringValue()?replace("\"", "") />
170 </#if>
171 <#if (tipo?? && tipo?trim == "imagen") && selectorMult.selectSingleNode(rootElement)?has_content>
172 <#assign imagen = selectorMult.selectSingleNode(rootElement).getStringValue()?trim />
173 <#if imagen == "">
174 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg" />
175 <#else>
176 <#assign imagenJSON = imagen?eval >
177 <#assign imagen = "/documents/${imagenJSON.groupId}/${imagenJSON.classPK}/${imagenJSON.title?url('UTF-8')}/${imagenJSON.uuid}" >
178 </#if>
179
180 <#else>
181 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg" />
182 </#if>
183 <#else>
184 <#assign imagenJSON = imagen?eval >
185 <#assign imagen = "/documents/${imagenJSON.groupId}/${imagenJSON.fileEntryId}/${imagenJSON.name?url('UTF-8')}/${imagenJSON.uuid}" >
186 </#if>
187 <#else>
188 <#assign selectorTipo = saxReaderUtil.createXPath("dynamic-element[@name='tituloRecurso']/dynamic-element[@name='tipoRecurso']") />
189 <#assign selectorMult = saxReaderUtil.createXPath("dynamic-element[@name='tituloRecurso']/dynamic-element[@name='multimedia']") />
190 <#if selectorTipo.selectSingleNode(rootElement)?has_content>
191 <#assign tipo = selectorTipo.selectSingleNode(rootElement).getStringValue()?replace("\"", "") />
192 </#if>
193 <#if (tipo?? && tipo?trim == "imagen") && selectorMult.selectSingleNode(rootElement)?has_content>
194 <#assign imagen = selectorMult.selectSingleNode(rootElement).getStringValue()?trim />
195 }/${imagenJSON.name}/${imagenJSON.uuid}" >
196 <#if imagen == "">
197 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg" />
198 <#else>
199 <#assign imagenJSON = imagen?eval >
200 <#assign imagen = "/documents/${imagenJSON.groupId}/${imagenJSON.fileEntryId}/${imagenJSON.name?url('UTF-8')}/${imagenJSON.uuid}" >
201 </#if>
202
203 <#else>
204 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg" />
205 </#if>
206 </#if>
207
208 <#-- destacadas carrousel -->
209
210 <#elseif ddmStructureKey == "9465501">
211
212 <#assign selectorTituloPortada = saxReaderUtil.createXPath("dynamic-element[@name='titulo']") />
213 <#if selectorTituloPortada.selectSingleNode(rootElement)?has_content>
214 <#assign titulo = selectorTituloPortada.selectSingleNode(rootElement).getStringValue()?replace("\"", "")?trim />
215 <#if titulo == "">
216 <#assign titulo = article.getTitle(locale) />
217 </#if>
218 <#else>
219 <#assign titulo = article.getTitle(locale) />
220 </#if>
221
222 <#assign selectorUrl = saxReaderUtil.createXPath("dynamic-element[@name='url']") />
223 <#if selectorUrl.selectSingleNode(rootElement)?has_content>
224 <#assign url = selectorUrl.selectSingleNode(rootElement).getStringValue()?replace("\"", "")?trim />
225 <#if url == "">
226 <#assign url = "/-/${article.getUrlTitle()}" >
227 </#if>
228
229 </#if>
230
231
232 <#assign selectorSubtituloPortada = saxReaderUtil.createXPath("dynamic-element[@name='descripcion']") />
233 <#if selectorSubtituloPortada.selectSingleNode(rootElement)?has_content>
234 <#assign descripcion = selectorSubtituloPortada.selectSingleNode(rootElement).getStringValue()?replace("\"", "")?trim />
235 <#if descripcion == "">
236 <#assign descripcion = article.getDescription(locale) />
237 </#if>
238 <#else>
239 <#assign descripcion = article.getDescription(locale) />
240 </#if>
241
242 <#assign selectorImagenPortada = saxReaderUtil.createXPath("dynamic-element[@name='imagen']") />
243 <#if selectorImagenPortada.selectSingleNode(rootElement)?has_content>
244 <#assign imagen = selectorImagenPortada.selectSingleNode(rootElement).getStringValue()?trim/>
245
246 <#if imagen == "">
247 <#assign selectorImagenCA = saxReaderUtil.createXPath("dynamic-element[@name='imagen']") />
248 <#if selectorImagenCA.selectSingleNode(rootElement)?has_content>
249 <#assign imagen = selectorImagenCA.selectSingleNode(rootElement).getStringValue()?trim/>
250 <#if imagen == "">
251 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg" />
252 <#else>
253 <#assign imagenJSON = imagen?eval >
254 <#assign imagen = "/documents/${imagenJSON.groupId}/${imagenJSON.fileEntryId}/${imagenJSON.name?url('UTF-8')}/${imagenJSON.uuid}" >
255 </#if>
256 <#else>
257 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg" />
258 </#if>
259 <#else>
260 <#assign imagenJSON = imagen?eval >
261 <#assign imagen = "/documents/${imagenJSON.groupId}/${imagenJSON.fileEntryId}/${imagenJSON.name?url('UTF-8')}/${imagenJSON.uuid}" >
262 </#if>
263 <#else>
264 <#assign selectorImagenCA = saxReaderUtil.createXPath("dynamic-element[@name='imagen']") />
265
266 <#if selectorImagenCA.selectSingleNode(rootElement)?has_content>
267 <#assign imagen = selectorImagenCA.selectSingleNode(rootElement).getStringValue()?trim/>
268 <#if imagen == "">
269 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg" />
270 <#else>
271 <#assign imagenJSON = imagen?eval >
272 <#assign imagen = "/documents/${imagenJSON.groupId}/${imagenJSON.fileEntryId}/${imagenJSON.name?url('UTF-8')}/${imagenJSON.uuid}" >
273 </#if>
274 <#else>
275 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg" />
276 </#if>
277 </#if>
278
279
280 <#else>
281 <#assign titulo = article.getTitle(locale) />
282 <#assign descripcion = article.getDescription(locale) />
283 <#assign imagen = "${themeImagesPath}/imagen_no_disponible.jpg" />
284 </#if>
285
286 <div class="carousel-item ${(contador1 == 0)?then('active', '')} background-image-publicador" style="background-image: url(${imagen})">
287 <div class="container">
288 <div class="row row-elementosV1">
289 <div class="col-xs-12">
290 <div class=" row row-title ">
291 <h3 class="text-titleV1" style="width: 100%;">${titulo?trim}</h3>
292 <hr class="hr-title"/>
293 </div>
294
295 <div class="row row-description ">
296 <p class="text-descriptionV1 ">${descripcion?trim}</p>
297 </div>
298 <div class="row url-informationV1 ">
299 <p>
300 <a class="btn btn-estandar " href="${url} " target="_blank">
301 <@liferay.language key="label_mas_informacion" />
302 </a>
303 </p>
304 </div>
305 </div>
306 </div>
307 </div>
308 </div>
309
310 <#assign contador1 = contador1+1 >
311 </#list>
312 </div>
313 <a class="right carousel-control-next control-flecha flecha" href="#myCarouselV1" data-slide="next" tabindex="0">
314 <div class="arrow">
315 <span class="vlc-arrow vlc-arrow-right"></span>
316 <span class="sr-only" title="Diapositiva siguiente">Diapositiva siguiente</span>
317 </div>
318 </a>
319 <div class="slider-dots-wrapper">
320 <span class="btn-play glyphicon"></span>
321 <ul class="carousel-indicators">
322 <#if entries?has_content>
323 <#list entries as curEntry>
324 <li data-target="#myCarouselV1" data-slide-to="${contador}" class="${(contador == 0)?then('active', '')}" >
325 <button ${(contador == 0)?then('aria-current=\"true\"', '')} class="${(contador == 0)?then('current', '')}" ><span class="ocultovisual">Mostrar Noticia ${contador+1} </span></button>
326 </li>
327 <#assign contador = contador+1 >
328 </#list>
329 </#if>
330 </ul>
331 </div>
332
333 </#if>
334 </div>
335</div>
336
337<#if !entries?has_content>
338 <style>
339 .container-fluid.carousel-container {
340 display: none;
341 }
342 #webs-municipales-circ {
343 margin-top: 3em;
344 }
345 </style>
346
347</#if>
348
349<script>
350 $('#myCarouselV1').carousel({
351 interval:6000,
352 pause: "false"
353 });
354
355 $('#myCarouselV1 .btn-play').on('click', function () {
356 if ($('.btn-play').hasClass('btn-play-paused') ) {
357 $('#myCarouselV1').carousel('cycle');
358 } else {
359 $('#myCarouselV1').carousel('pause');
360 }
361 $('.btn-play').toggleClass('btn-play-paused');
362 });
363
364</script>
ACTUALIDAD
A un clic
Diapositiva anterior
Diapositiva siguiente
A TU LADO
Ayudas Municipales al Alquiler 2024
16/05/2024
Cheque Escolar curso 2023-2024
21/05/2024
Agenda de la ciudad
Lunes
03
Junio