Saltar al contenido

Título y logo de la página

Mostrar/ocultar menú principal de navegación

Aplicaciones anidadas

Publicador de contenidos

Publicador de contenidos

Aplicaciones anidadas

Publicador de contenidos

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

Cabecera

logo

Aplicaciones anidadas

Banner cabecera Zestafesta 2026

Agenda

Agenda NO cultural

mar 18 2026
2026 • 18 de marzo • 10:00Por el pueblo
mar 18 2026
2026 • 18 de marzo • 19:00Kultur Etxea
mar 22 2026
2026 • 22 de marzo • 9:30Donostia-Hondarribia
mar 25 2026
2026 • 25 de marzo • 05:15 Por el pueblo
mar 27 2026
2026 • 27 de marzo • 17:30 Arma plaza

Enlaces eventos y descarga

Aplicaciones anidadas

Destacado Home • Hondarribia euskaraz bizi