Aplicaciones anidadas
NO BORRAR. CONTENIDO OCULTO
Destacados
Destacados
Aplicaciones anidadas
Aplicaciones anidadas
Noticias
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> f_es [in template "21222#21260#33336630" at line 143, column 55]
----
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: #assign formatoActual = (lang == "es_... [in template "21222#21260#33336630" at line 143, column 5]
----
1<#assign dLFileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryService")>
2 <style>
3 .aui .RWD .flexslider.principal.pantalla-baz ul.slides { display: flex!important; align-items: center!important; }
4
5 .aui .RWD .pantalla-baz .home-berria.agendas h1 {
6 color: #ffffff; margin: 0 0 24px 0;
7 }
8 .aui .RWD .pantalla-baz .home-berria.agendas .agenda {
9 background: #ffffff;
10 min-height: 200px;
11 }
12 .aui .RWD .pantalla-baz .home-berria.agendas .agenda .datos{
13 font-size: 20px;
14 }
15 .aui .RWD .pantalla-baz .home-berria.agendas .agenda .datos .fecha-datos{
16 display: inline-flex;
17 }
18 .aui .RWD .pantalla-baz .home-berria.agendas .agenda .fechas {
19 background: #3c5f2a;
20 width: 80px;
21 }
22 .aui .RWD .pantalla-baz .home-berria.agendas .agenda .datos .titulo{
23 font-size: 28px;
24 line-height: 1.2em;
25 }
26 .aui .RWD .pantalla-baz .home-berria.agendas .agenda .fechas .mes {
27 font-size: 24px;
28 }
29 .aui .RWD .pantalla-baz .home-berria.agendas .agenda .fechas .dia {
30 font-size: 32px;
31 margin: 12px 0;
32 }
33 .aui .RWD .pantalla-baz .home-berria.agendas .agenda .fechas .ano {
34 font-size: 18px;
35 }
36 .aui .RWD .pantalla-baz .home-berria.agendas .agenda .imagen-fecha img,
37 .aui .RWD .pantalla-baz .home-berria.agendas .agenda .lugar img {
38 width: 24px!important;
39 vertical-align: middle;
40 }
41</style>
42
43
44
45<#-- PRE-PROCESADO -->
46<#assign listaBanners = []>
47<#assign listaAgendaNormal = []>
48<#assign listaKultura = []>
49<#assign listaNoticias = []>
50<#assign hoyLong = .now?long>
51
52<#list entries as entry>
53 <#assign renderer = entry.getAssetRenderer()>
54 <#if renderer.getClassName() == "com.liferay.journal.model.JournalArticle">
55 <#assign article = renderer.getArticle()>
56 <#assign contentXml = article.getContentByLocale(lang)>
57
58 <#-- Verificamos si es un evento -->
59 <#if contentXml?contains("hasieraData")>
60 <#-- CAMBIO: Leemos el XML solo si es necesario y en una variable fresca -->
61 <#assign articuloDoc = saxReaderUtil.read(contentXml)>
62
63 <#assign hStr = articuloDoc.valueOf("//dynamic-element[@name='hasieraData']/dynamic-content/text()")!"">
64 <#assign aStr = articuloDoc.valueOf("//dynamic-element[@name='amaieraData']/dynamic-content/text()")!"">
65
66 <#if hStr?has_content>
67 <#assign hFecha = hStr?date("yyyy-MM-dd")>
68 <#assign aTexto = aStr?has_content?string(aStr, hStr)>
69 <#assign aFecha = aTexto?date("yyyy-MM-dd")>
70
71 <#if (aFecha?long >= (hoyLong - 86400000))>
72
73 <#-- CAMBIO: Extraemos el valor de la imagen una sola vez -->
74 <#assign valorImagen = articuloDoc.valueOf("//dynamic-element[@name='imagen_evento']/dynamic-content/text()")!"">
75
76 <#-- CLASIFICACIÓN -->
77 <#if valorImagen?has_content>
78 <#-- Es KULTURA: Guardamos una copia del doc única para este item -->
79 <#assign listaKultura = listaKultura + [{ "entry": entry, "fecha": hFecha, "doc": articuloDoc }]>
80 <#else>
81 <#-- Es AGENDA NORMAL: Verificamos categoría -->
82 <#assign esAgendaNoCultural = false>
83 <#list entry.getCategories() as cat>
84 <#if cat.categoryId == 3098366>
85 <#assign esAgendaNoCultural = true>
86 <#break>
87 </#if>
88 </#list>
89
90 <#if esAgendaNoCultural>
91 <#assign listaAgendaNormal = listaAgendaNormal + [{ "entry": entry, "fecha": hFecha, "doc": articuloDoc }]>
92 </#if>
93 </#if>
94 </#if>
95 </#if>
96
97 <#-- NOTICIAS -->
98 <#elseif contentXml?contains("fechavisible")>
99 <#assign articuloDocNoticia = saxReaderUtil.read(contentXml)>
100 <#assign categoriasArticulo = entry.getCategories()>
101 <#if categoriasArticulo?size == 0>
102 <#assign fStr = articuloDocNoticia.valueOf("//dynamic-element[@name='fechavisible']/dynamic-content/text()")!"">
103 <#if fStr?has_content>
104 <#assign listaNoticias = listaNoticias + [{ "entry": entry, "fecha": fStr?date("yyyy-MM-dd"), "doc": articuloDocNoticia }]>
105 </#if>
106 </#if>
107
108 <#-- BANNERS -->
109 <#else>
110 <#assign listaBanners = listaBanners + [entry]>
111 </#if>
112 </#if>
113</#list>
114
115<#-- ORDENACIÓN -->
116<#assign listaAgendaNormal = listaAgendaNormal?sort_by("fecha")>
117<#assign listaKultura = listaKultura?sort_by("fecha")>
118<#assign listaNoticias = listaNoticias?sort_by("fecha")?reverse>
119
120<#-- AGREGAR ESTE LÍMITE AQUÍ -->
121<#if listaKultura?size gt 6>
122 <#assign listaKultura = listaKultura[0..5]>
123</#if>
124
125<#-- LISTAS DE MESES GLOBALES -->
126<#assign meses_es = ["", "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"]>
127<#assign meses_eu = ["", "urt", "ots", "mar", "api", "mai", "eka", "uzt", "abu", "ira", "urr", "aza", "abe"]>
128
129<#-- PATRONES DE FECHA -->
130<#assign pattern_es = "dd-MM-yyyy">
131<#assign pattern_eu = "yyyy-MM-dd">
132
133
134<div class="flexslider principal pantalla-baz ">
135 <ul class="slides">
136
137 <li>
138 <img src="/documents/124308/43821139/concurso+carnavales+escritorio+EU.jpg/81d1b18d-b32c-27ce-ce73-7b773aa6fb33" />
139 </li>
140
141 <#list ["eu_ES", "es_ES"] as lang>
142
143 <#assign formatoActual = (lang == "es_ES")?string(f_es, f_eu)>
144
145<#-- BLOQUE 1: BANNERS -->
146<#list listaBanners as entry>
147 <#assign docB = saxReaderUtil.read(entry.getAssetRenderer().getArticle().getContentByLocale(lang))>
148 <#assign imgB = docB.valueOf("//dynamic-element[@name='imagen']/dynamic-content/text()")!"" >
149 <#assign rutaB = "">
150 <#if imgB?contains("{")><#assign im = imgB?eval><#assign fE = dLFileEntryService.getFileEntryByUuidAndGroupId(im.uuid, getterUtil.getLong(im.groupId))><#assign rutaB = "/documents/${im.groupId}/${fE.getFileEntryId()}/${im.title}/${im.uuid}"></#if>
151 <li><div class="imagen_grande"><img src="${rutaB}"></div></li>
152</#list>
153
154<#-- BLOQUE 2: AGENDA NO CULTURAL -->
155<li class="clase-lenta">
156
157 <div class="home-berria agendas">
158 <h1>${(lang == "es_ES")?string("Eventos", "Ekitaldiak")}</h1>
159 <div class="dos-columnas">
160 <#assign countA = 0>
161 <#list listaAgendaNormal as item>
162 <#if countA == 6><#break></#if>
163 <#assign countA = countA + 1>
164 <#if countA == 1 || countA == 4><div class="columna"></#if>
165 <#assign docA = item.doc>
166 <#assign hDataA = docA.valueOf("//dynamic-element[@name='hasieraData']/dynamic-content/text()")>
167 <#assign erakutsiAmaieraA = docA.valueOf("//dynamic-element[@name='erakutsiAmaiera']/dynamic-content/text()")!"false">
168 <#assign a_valA = docA.valueOf("//dynamic-element[@name='amaieraData']/dynamic-content/text()")!"">
169 <#assign h_partsA = hDataA?split("-")>
170 <#assign lugarA = docA.valueOf("//dynamic-element[@name='lugar_evento']/dynamic-content/text()")!"">
171
172 <div class="agenda">
173 <div class="fechas">
174 <span class="mes">${(lang == "es_ES")?string(meses_es[h_partsA[1]?number], meses_eu[h_partsA[1]?number])}</span>
175 <span class="dia">${h_partsA[2]}</span>
176 <#-- Lógica para la fecha de fin -->
177 <#if erakutsiAmaieraA == "true" && a_valA?has_content>
178 <#assign a_objA = a_valA?date("yyyy-MM-dd")>
179 <span class="dia" style="font-size: 14px; margin: 0;">-</span> <#-- Un guion pequeño -->
180 <span class="dia">${a_objA?string("dd")}</span>
181 </#if>
182
183 <span class="ano">${h_partsA[0]}</span>
184 </div>
185 <div class="datos">
186 <div class="titulo">${item.entry.getTitle(lang)}</div>
187 <div class="fecha-datos">
188 <span class="imagen-fecha">
189 <img src="/documents/124308/33457774/ico+fecha+agenda+home/b80e7bb6-5e06-500b-15e1-83a25c568e4d?v=01">
190 </span>
191 <div class="contenido-fecha" style="display: inline-flex;">
192 ${h_partsA[0]} • ${docA.valueOf("//dynamic-element[@name='hora']/dynamic-content/text()")!""}
193
194 <#if lugarA?has_content>
195 <span class="lugar" style="display: inline-flex;">
196 <img src="/documents/124308/33457774/ico+localizacion+agenda+home/f315c014-63ef-53f5-0128-6a39e72a16de">
197 ${lugarA}
198 </span>
199 </#if>
200 </div>
201 </div>
202 </div>
203 </div>
204 <#if countA == 3 || countA == 6 || item?is_last></div></#if>
205 </#list>
206 </div>
207 </div>
208</li>
209
210
211<#-- BLOQUE 3: KULTURA (Slide con Imagen de Evento - Paginado de 3 en 3) -->
212<#list listaKultura?chunk(3) as grupoK>
213<li class="clase-lenta">
214 <style>
215 .aui .RWD .pantalla-baz h1{
216 color:#ffffff;
217 font-family: OpenSans-Regular!important;
218 margin-bottom: 24px;
219 }
220 .aui .RWD .micro.kultura.listado-agenda {
221 display: grid;
222 grid-gap: 48px!important;
223 grid-template-columns: repeat(3, 1fr); /* Fuerza 3 columnas */
224 }
225 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura{
226 background: #ffffff;
227 display: flex;
228 flex-direction: column;
229 height: 100%;
230 padding: 0!important;
231 position: relative;
232 }
233 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .fecha{
234 background: #dedd05;
235 display: flex;
236 flex-direction: column;
237 font-family: 'Roboto-regular', sans-serif !important;
238 font-size: 24px;
239 line-height: 1.4em;
240 padding: 24px 12px;
241 text-align: center;
242 }
243 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .imagen-eventoK img {
244 height: auto;
245 max-width: 100%;
246 width: 100%;
247 }
248 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .categoria {
249 position: absolute;
250 top: -14px;
251 right: 12px;
252 }
253 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .categoria span{
254 background: #dedd05;
255 border-radius: 5px!important;
256 display: block;
257 padding: 8px 10px 10px 10px!important;
258 }
259 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .categoria span img {
260 height: 28px!important;
261 width: 28px!important;
262 }
263 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .categoria span.teatro{
264 background: #e94697;
265 }
266 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .categoria span.haurrak{
267 background: #f390b1;
268 }
269 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .categoria span.miscelanea{
270 background: #6e6e6e;
271 }
272 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .categoria span.musica{
273 background: #dc1e28;
274 }
275 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .categoria span.exposiciones{
276 background: #d5e02e;
277 }
278 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .categoria span.fiestas{
279 background: #a08c00;
280 }
281 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .categoria span.literatura{
282 background: #234699;
283 }
284 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .categoria span.cine{
285 background: #ff8132;
286 }
287 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .contenido{
288 display: flex;
289 height: 100%!important;
290 }
291 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .datos .titulo{
292 color: #2e2e2e;
293 font-family: 'Roboto-bold', sans-serif !important;
294 font-size: 32px!important;
295 padding-bottom: 18px;
296 }
297 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .contenido .datos {
298 padding: 24px 32px!important;
299 }
300 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .contenido .datos span {
301 align-items: flex-start;
302 display: flex;
303 }
304 .aui .RWD .micro.kultura.listado-agenda .agenda.kultura .contenido .datos img {
305 width: 24px!important;
306 }
307 </style>
308 <div class="mb-3"><img alt="logo" style="height: 43px;width: 210px;" src="/documents/124308/887455/Logo+Hondarribia+kultura+amarillo.svg/1e08ca19-2392-c861-1880-1c8690dbaedd"></div>
309 <div class="micro kultura listado-agenda">
310
311 <#list grupoK as item>
312 <#-- Extracción de datos del XML del evento -->
313 <#assign docK = item.doc>
314 <#assign hDataK = docK.valueOf("//dynamic-element[@name='hasieraData']/dynamic-content/text()")>
315 <#assign h_partsK = hDataK?split("-")>
316 <#assign h_mesK = h_partsK[1]?number>
317
318 <#assign erakutsiAmaiera = docK.valueOf("//dynamic-element[@name='erakutsiAmaiera']/dynamic-content/text()")!"false">
319 <#assign a_val = docK.valueOf("//dynamic-element[@name='amaieraData']/dynamic-content/text()")!"">
320 <#assign h_obj = hDataK?date("yyyy-MM-dd")>
321
322 <div class="agenda kultura">
323 <span class="categoria">
324 <#if item.entry??>
325 <#list item.entry.getCategories() as categoryK>
326 <#if categoryK.categoryId == 39362989>
327 <span class="teatro"><img src="/documents/124308/39285597/ico+teatro.svg/e344db1c-ad88-b29e-2263-7e61726386e9"></span>
328 <#elseif categoryK.categoryId == 39362998>
329 <span class="haurrak"><img src="/documents/124308/39285597/ico+haurrak.svg/563f2c50-e0eb-715b-728e-af1b63f2f72e"></span>
330 <#elseif categoryK.categoryId == 39363002>
331 <span class="miscelanea"><img src="/documents/124308/39285597/ico+miscelanea.svg/86bf8878-d564-2b4a-cdfd-00beb2ab857d"></span>
332 <#elseif categoryK.categoryId == 39363004>
333 <span class="musica"><img src="/documents/124308/39285597/ico+musika.svg/d33047dc-7d95-1393-e968-5b954b2f5974"></span>
334 <#elseif categoryK.categoryId == 39362996>
335 <span class="exposiciones"><img src="/documents/124308/39285597/ico+exposiciones.svg/a679a198-2778-c0c1-d7f9-da9cc7cf89f7"></span>
336 <#elseif categoryK.categoryId == 39363001>
337 <span class="fiestas"><img src="/documents/124308/39285597/ico+fiestas.svg/a1853cde-9143-4ce8-bb95-50b5b69675b1"></span>
338 <#elseif categoryK.categoryId == 39362992>
339 <span class="literatura"><img src="/documents/124308/39285597/ico+literatura.svg/2ef6c47d-42cc-8fe1-c6c2-241bddfaceba"></span>
340 <#elseif categoryK.categoryId == 39363006>
341 <span class="cine"><img src="/documents/124308/39285597/ico+cine.svg/23d4c515-5a26-6ee1-1df1-55d20c7a4354"></span>
342 </#if>
343 </#list>
344 </#if>
345 </span>
346
347 <#-- Imagen específica de Kultura -->
348 <#assign imgEvento = docK.valueOf("//dynamic-element[@name='imagen_evento']/dynamic-content/text()")!"">
349 <#assign rutaImagenK = "">
350 <#if imgEvento?contains("{")>
351 <#assign imK = imgEvento?eval>
352 <#assign fileEntryK = dLFileEntryService.getFileEntryByUuidAndGroupId(imK.uuid, getterUtil.getLong(imK.groupId))>
353 <#assign rutaImagenK = "/documents/${imK.groupId}/${fileEntryK.getFileEntryId()}/${imK.title}/${imK.uuid}">
354 </#if>
355
356 <div class="imagen-eventoK">
357 <img src="${rutaImagenK}" alt="${item.entry.getTitle(lang)}">
358 </div>
359
360 <div class="contenido">
361 <div class="fecha">
362 <span class="ano">${h_partsK[0]}</span>
363 <span class="mes">${(lang == "es_ES")?string(meses_es[h_mesK], meses_eu[h_mesK])}</span>
364 <span class="dia">${h_partsK[2]}</span>
365
366 <#if erakutsiAmaiera == "true" && a_val?has_content>
367 <#assign a_obj = a_val?date("yyyy-MM-dd")>
368 <span class="separador">-</span>
369 <#if h_obj?string("M") != a_obj?string("M")><span class="mes">${(lang == "es_ES")?string(meses_es[a_obj?string("M")?number], meses_eu[a_obj?string("M")?number])}</span></#if>
370 <span class="dia">${a_obj?string("d")}</span>
371 </#if>
372 </div>
373
374 <div class="datos">
375 <span class="titulo">${item.entry.getTitle(lang)}</span>
376 <span class="hora"><img src="/documents/124308/33457774/ico+reloj.svg">${docK.valueOf("//dynamic-element[@name='hora']/dynamic-content/text()")!""}</span>
377
378 <#assign lugarK = docK.valueOf("//dynamic-element[@name='lugar_evento']/dynamic-content/text()")!"">
379 <#if lugarK != "">
380 <span class="lugar"><img src="/documents/124308/33457774/ico+localizacion+agenda+home.svg">${lugarK}</span>
381 </#if>
382
383 <#assign precio = docK.valueOf("//dynamic-element[@name='precio_entradas']/dynamic-content/text()")?trim!"">
384 <#if precio != "">
385 <span class="precio"><img src="/documents/124308/33457774/ico+entrada.svg">${precio}</span>
386 </#if>
387 </div>
388 </div>
389 </div>
390 </#list>
391 </div>
392</li>
393</#list>
394
395<#-- BLOQUE 4: NOTICIAS -->
396<li class="clase-lenta">
397 <style>
398 .aui .RWD .portlet-asset-publisher .pantalla-baz .micro.prensa h1{
399 color:#ffffff;
400 font-family: OpenSans-Regular!important;
401 margin-bottom: 24px;
402 }
403
404 .aui .RWD .portlet-asset-publisher .pantalla-baz .micro.prensa .tres-columnas {
405 grid-gap: 48px;
406 grid-template-columns: repeat(auto-fill, minmax(450px, 1fr))!important;
407 }
408 .aui .RWD .portlet-asset-publisher .pantalla-baz .micro.prensa .tres-columnas.listado-noticias .columna{
409 background: #ffffff;
410 }
411 .aui .RWD .portlet-asset-publisher .pantalla-baz .micro.prensa .tres-columnas.listado-noticias .columna .destacado_imagen {
412 border-bottom: 1px solid #cbcbcb;
413 display: block!important;
414 max-height: 240px !important;
415 overflow: clip;
416 }
417 .aui .RWD .portlet-asset-publisher .pantalla-baz .micro.prensa .tres-columnas.listado-noticias .columna .destacado_contenido {
418
419 background: #ffffff;
420 display: block;
421 padding: 40px !important;
422 }
423
424 .aui .RWD .portlet-asset-publisher .pantalla-baz .micro.prensa .tres-columnas.listado-noticias .columna .data {
425 display: block;
426 font-size: 24px!important;
427 font-style: italic!important;
428 margin-bottom: 24px;
429 }
430
431 .aui .RWD .portlet-asset-publisher .pantalla-baz .micro.prensa .tres-columnas.listado-noticias .columna .titular {
432 display: block;
433 font-size: 32px!important;
434 font-weight: bold;
435 line-height: 1.4em;
436 }
437
438 </style>
439 <div class="micro prensa">
440 <h1>${(lang == "es_ES")?string("Actualidad", "Gaurkotasuna")}</h1>
441 <div class="tres-columnas listado-noticias">
442 <#assign n_count = 0>
443 <#list listaNoticias as noticia>
444 <#if n_count == 3><#break></#if>
445 <#assign n_count = n_count + 1>
446 <#assign imgN = noticia.doc.valueOf("//dynamic-element[@name='imagen']/dynamic-content/text()")!"">
447 <#assign rutaN = "">
448 <#if imgN?contains("{")><#assign im = imgN?eval><#assign fN = dLFileEntryService.getFileEntryByUuidAndGroupId(im.uuid, getterUtil.getLong(im.groupId))><#assign rutaN = "/documents/${im.groupId}/${fN.getFileEntryId()}/${im.title}/${im.uuid}"></#if>
449 <div class="columna">
450 <span class="destacado_imagen"><img src="${rutaN}"></span>
451 <span class="destacado_contenido">
452 <span class="data" style="font-style: italic; display: block; margin-bottom: 10px;">
453 <#-- USA ESTA LÍNEA: noticia.fecha es el objeto Date del pre-procesado -->
454 <#if lang == "es_ES">
455 ${noticia.fecha?string("dd-MM-yyyy")}
456 <#else>
457 ${noticia.fecha?string("yyyy-MM-dd")}
458 </#if>
459 </span>
460 <span class="titular" style="font-weight: bold; font-size: 24px;">${noticia.entry.getTitle(lang)}</span>
461 </span>
462 </div>
463 </#list>
464 </div>
465 </li>
466 <li>
467 <#-- Aquí decides qué imagen cargar según el idioma del bucle -->
468 <#if lang == "es_ES">
469 <#-- Ruta de la imagen en Castellano -->
470 <img src="/documents/124308/43522288/banner+gabonetako+azoka+escritorio.jpg/bec9f86d-e319-5525-a340-494d6336c896" />
471 <#else>
472 <#-- Ruta de la imagen en Euskera (la que ya tienes) -->
473 <img src="/documents/124308/43522288/banner+gabonetako+azoka+escritorio.jpg/bec9f86d-e319-5525-a340-494d6336c896" />
474 </#if>
475 </li>
476 </#list>
477
478 </ul>
479</div>
480
481<script type="text/javascript">
482function inicializarFlexSlider() {
483 var $miSlider = $('.flexslider.principal.pantalla-baz');
484
485 <#-- Eliminamos el flexslider si ya existe -->
486 if ($miSlider.data('flexslider')) {
487 $miSlider.removeData("flexslider");
488 }
489
490 <#-- Inicializamos el flexslider con las velocidades correspondientes -->
491 $miSlider.flexslider({
492 animation: "slide",
493 slideshowSpeed: 5000, // Velocidad inicial (Rápida)
494 animationSpeed: 600,
495 controlNav: false, // Ocultar flex-control-nav
496 directionNav: true,
497
498 // Antes de que cambie la diapositiva
499 before: function(slider) {
500 // Miramos si la diapositiva a la que vamos tiene la clase 'clase-lenta'
501 var proximoSlide = slider.slides.eq(slider.animatingTo);
502
503 if (proximoSlide.hasClass('clase-lenta')) {
504 slider.vars.slideshowSpeed = 7000; // Velocidad para leer (7 seg)
505 } else {
506 slider.vars.slideshowSpeed = 5000; // Velocidad banner (2 seg)
507 }
508 },
509
510 // Reiniciar el contador para que el cambio de velocidad sea instantáneo
511 after: function(slider) {
512 slider.pause();
513 slider.play();
514 }
515 });
516}
517
518if (document.readyState === "complete") {
519 inicializarFlexSlider();
520} else {
521 window.addEventListener("load", inicializarFlexSlider, { once: true });
522}
523</script>
Aplicaciones anidadas
Banner cabecera Zestafesta 2026

Aplicaciones anidadas
Publicador de contenidos
Agenda
Agenda NO cultural
mar
18
2026
2026 • 18 de marzo • 10:00
Por el pueblo
mar
18
2026
2026 • 18 de marzo • 19:00
Kultur Etxea
mar
22
2026
2026 • 22 de marzo • 9:30
Donostia-Hondarribia
mar
25
2026
2026 • 25 de marzo • 05:15
Por el pueblo
mar
26
2026
2026 • 26 de marzo • 17:30-19:30
Kultur Etxea
mar
27
2026
2026 • 27 de marzo • 17:30
Arma plaza







