• HARA! HEMEN DA UDA!

    HARA!
    HEMEN DA UDA!

    Jaiak, musika jaialdiak, erakusketak, antzerkia... Astero, Gipuzkoan gozatzeko plan berriak.

    Sartu
  • Sara Alonso On Tour

    Sara Alonso On Tour

    Diberti zaitez Gipuzkoan barrena gure mendi korrikalari internazionalenarekin. Jarri zapatilak eta sakatu play!

    Sartu
  • Bizitzeko Gipuzkoa

    Bizitzeko Gipuzkoa

    Bost istorio pertsonal eta bost esperientzia paregabe Gipuzkoa modu ezberdin batean gozatzeko.

    Sartu
Jarraitu irakurtzen
 

 

Gipuzkoako Top 10

Europako hizkuntza zaharrenari eusten dion historiaz harro eta abangoardien sortzaile, Gipuzkoak lurralde berezia eta kosmopolita eta, batez ere, benetakoa eskaintzen du.

Zarautz
Gipuzkoako itsasertzeko hondartzarik luzeena eta askoz ere gehiago
Gehiago ikusi
Hondarribia
Itsas zaporea duen harresidun hiria,
Gehiago ikusi
Geoparkea
Itsasora erortzen diren itsaslabarren eta historiaurretik bizileku izan diren haran berdeen artean.
Gehiago ikusi
Chillida Leku
Artearen eta naturaren arteko fusioa.
Gehiago ikusi
Loiola
Artea eta espiritualtasuna Gipuzkoaren bihotzean.
Gehiago ikusi
Txotx!
Bisitaldia eta dastatzea sagardotegi batean.
Gehiago ikusi
Arantzazu
Arantzazuko Santutegia eta Aizkorri-Aratz Parke Naturala, ohiz kanpoko ingurune natural bat.
Gehiago ikusi
Getaria
Elkanoren eta txakolinaren jaioterrian.
Gehiago ikusi
Pasaia
Albaola, Itsas Kultur Faktoria eta Pasaiako badia, Gipuzkoako itsas ondarea.
Gehiago ikusi
Aralar
Idiazabal gazta eta Tolosako eta Ordiziako merkatu tradizionalak
Gehiago ikusi
  • Donostia

    Kontxako badiara joan, eta pintxo ibilbiderik onenez gozatu.

    Donostia ezagutu

AUKERATU ZURE PLANA

Cómo vas a visitarnos
Cuándo vas a visitarnos
Tema
Cómo vas a visitarnos
Cuándo vas a visitarnos
Tema
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> nombresMesesPorIdioma[idioma]  [in template "20907#20945#44309718" at line 152, column 51]

----
Tip: It's the final [] step 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: #assign nombresMeses = nombresMesesPo...  [in template "20907#20945#44309718" in function "obtenerNombreMes" at line 152, column 27]
	- Reached through: ${obtenerNombreMes(numeroMes, idioma)}  [in template "20907#20945#44309718" in macro "imprimirFecha" at line 168, column 27]
	- Reached through: @imprimirFecha fecha=fechaInicio idio...  [in template "20907#20945#44309718" at line 213, column 69]
----
1<#assign images_folder=themeDisplay.getPathThemeImages() /> 
2<#assign DLFileEntryLocalService=serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") /> 
3<#assign dlAppServiceUtil=staticUtil["com.liferay.document.library.kernel.service.DLAppServiceUtil"] /> 
4 
5<#assign AssetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"]> 
6<#assign titulo = "AGENDA" /> 
7<#if locale.getLanguage()=='es'> 
8 
9    <#assign formato_idioma="dd/MM/yyyy"> 
10    <#assign direccion="evento"> 
11<#else> 
12    <#assign formato_idioma="yyyy/MM/dd"> 
13    <#assign direccion="ekitaldia"> 
14 
15</#if> 
16 
17<#assign BuscadorAgendaService = serviceLocator.findService("net.izfe.gipuzkoa.agenda.buscador.api.BuscadorAgendaService") /> 
18 
19<!-- OBTENER NÚMERO DE ELEMENTOS A MOSTRAR SEGÚN LA CONF DEL PUBLICADOR --> 
20<#assign delta = 6 /> 
21<#assign categoriasAssetPublisher = [] /> 
22<#assign groupIds = [] /> 
23 
24 
25<#if portletPreferences?has_content> 
26	 
27	<#if portletPreferences["delta"]?has_content> 
28		<#assign values = portletPreferences["delta"] /> 
29		<#if values?has_content> 
30			<#list values as value> 
31				<#assign delta =  value> 
32			</#list>   
33		</#if> 
34    </#if> 
35	<#if portletPreferences["scopeIds"]?has_content> 
36		<#list portletPreferences["scopeIds"] as scopeId > 
37			<#assign groupId = assetPublisherHelper.getGroupIdFromScopeId(scopeId, themeDisplay.getSiteGroupId(), false)/> 
38			<#assign groupIds += [groupId] /> 
39		</#list> 
40    </#if> 
41 
42    <#if portletPreferences["queryValues0"]?has_content > 
43        <#assign categoriasAssetPublisherPreferences = portletPreferences["queryValues0"] /> 
44         
45        <#list categoriasAssetPublisherPreferences as categoriaAP > 
46 
47            <#attempt>             
48                <#if AssetCategoryLocalServiceUtil.fetchCategory(categoriaAP?number)?has_content > 
49                    <#assign categoriasAssetPublisher += [categoriaAP?number] /> 
50                </#if>   
51            <#recover> 
52 
53            </#attempt> 
54        </#list> 
55 
56    </#if> 
57     
58</#if> 
59 
60<span class="d-none delta">${delta} ,${themeDisplay.getCompanyId()},${themeDisplay.getLocale()},${themeDisplay.getPortalURL()},${categoriasAssetPublisher?size}, ${delta}, ${groupIds[0]}, ${groupIds[1]}</span> 
61<#assign eventos = BuscadorAgendaService.listaProximosEventos(themeDisplay.getCompanyId(), themeDisplay.getLocale(), themeDisplay.getPortalURL(), categoriasAssetPublisher, delta?number, groupIds) /> 
62<#--  <#assign eventos = BuscadorAgendaService.getProximosEventos(themeDisplay.getCompanyId(), categoriasAssetPublisher, delta?number, groupIds) />--> 
63 
64<span class="d-none delta">${eventos?size} 
65</span> 
66<#assign totEventos=eventos?size> 
67 
68<head> 
69    <link rel="stylesheet" href="https://unpkg.com/swiper/swiper-bundle.min.css" /> 
70</head> 
71 
72<div id="izfe-agenda-carousel" class="mt-12 pt-4 pb-4 izfe-bg-blue-dark"> 
73    <div class="container "> 
74        <div class="row"> 
75            <div class="col-12 animate-home__intro mb-4"> 
76                <h2> 
77                    <svg xmlns="http://www.w3.org/2000/svg" width="70.94" height="70.94" viewBox="0 0 70.94 70.94"> 
78                        <g id="Grupo_1" data-name="Grupo 1" transform="translate(-822 -322)"> 
79                          <path id="Trazado_2" data-name="Trazado 2" d="M53.05,54.541H17.89a2.686,2.686,0,0,1-2.682-2.684V23.433a2.687,2.687,0,0,1,2.682-2.686h6.435V16.9a.5.5,0,0,1,1,0v3.85H45.614v-3.44a.5.5,0,0,1,1,0v3.44H53.05a2.688,2.688,0,0,1,2.682,2.686V51.857a2.687,2.687,0,0,1-2.682,2.684M16.208,28.525V51.857a1.685,1.685,0,0,0,1.682,1.684H53.05a1.685,1.685,0,0,0,1.682-1.684V28.525Zm0-1H54.732V23.433a1.685,1.685,0,0,0-1.682-1.686H46.614v2.519a.5.5,0,1,1-1,0V21.747H25.325v2.109a.5.5,0,0,1-1,0V21.747H17.89a1.685,1.685,0,0,0-1.682,1.686ZM48.789,48.284H46.061a.5.5,0,0,1,0-1h2.728a.5.5,0,0,1,0,1m-8.184,0H37.877a.5.5,0,0,1,0-1H40.6a.5.5,0,0,1,0,1m-8.184,0H29.693a.5.5,0,1,1,0-1h2.728a.5.5,0,0,1,0,1m-8.185,0H21.508a.5.5,0,0,1,0-1h2.728a.5.5,0,1,1,0,1M48.789,41.73H46.061a.5.5,0,0,1,0-1h2.728a.5.5,0,0,1,0,1m-8.184,0H37.877a.5.5,0,0,1,0-1H40.6a.5.5,0,0,1,0,1m-8.184,0H29.693a.5.5,0,0,1,0-1h2.728a.5.5,0,0,1,0,1m-8.185,0H21.508a.5.5,0,1,1,0-1h2.728a.5.5,0,0,1,0,1m24.553-6.556H46.061a.5.5,0,0,1,0-1h2.728a.5.5,0,0,1,0,1m-8.184,0H37.877a.5.5,0,0,1,0-1H40.6a.5.5,0,0,1,0,1m-8.184,0H29.693a.5.5,0,0,1,0-1h2.728a.5.5,0,0,1,0,1m-8.185,0H21.508a.5.5,0,1,1,0-1h2.728a.5.5,0,0,1,0,1" transform="translate(822 322)" fill="#fff"/> 
80                          <path id="Trazado_3" data-name="Trazado 3" d="M35.47,70.94A35.47,35.47,0,1,1,70.94,35.471,35.51,35.51,0,0,1,35.47,70.94m0-70.5A35.034,35.034,0,1,0,70.5,35.471,35.074,35.074,0,0,0,35.47.436" transform="translate(822 322)" fill="#fff"/> 
81                        </g> 
82                      </svg> 
83                       
84                   
85                    <span>${titulo}</span> 
86                </h2> 
87            </div> 
88        </div> 
89        <#if eventos?has_content> 
90            <div class="swiper mySwiper"> 
91                <div class="swiper-wrapper"> 
92                    <#list eventos as evento> 
93                        <#assign izena = evento.title /> 
94 
95                        <#assign imagen = "" /> 
96                        <#if evento.imagenPath?has_content > 
97                            <#assign imagen = evento.imagenPath /> 
98                        </#if> 
99 
100                        <#assign localizacion = "" /> 
101                        <#if evento.localizacion?has_content > 
102                            <#assign localizacion = evento.localizacion /> 
103                        </#if> 
104 
105                         
106                        <#attempt> 
107                            <#assign fechaInicio = evento.getStartDate() /> 
108                            <#assign fechaInicio = BuscadorAgendaService.formatearFechaPorIdioma(fechaInicio, themeDisplay.getLanguageId()) /> 
109                        <#recover> 
110                            <#assign fechaInicio = "" /> 
111                        </#attempt> 
112                         
113                            
114                        <#attempt> 
115                            <#assign fechaFin = evento.getEndDate() /> 
116                            <#assign fechaFin = BuscadorAgendaService.formatearFechaPorIdioma(fechaFin, themeDisplay.getLanguageId()) /> 
117                        <#recover> 
118                            <#assign fechaFin = "" /> 
119                        </#attempt> 
120 
121 
122                        <#attempt> 
123                            <#assign horaInicio = evento.getStartOnlyTime() /> 
124                        <#recover> 
125                            <#assign horaInicio = "" /> 
126                        </#attempt> 
127 
128                        <#attempt> 
129                            <#assign horaFin = evento.getEndOnlyTime() /> 
130                        <#recover> 
131                            <#assign horaFin = "" /> 
132                        </#attempt> 
133 
134 
135                         
136                        <#if locale.getLanguage()=='es'> 
137                            <#assign urlEvento="/actualidad/agenda/"+direccion+"?entryId="+ evento.calendarBookingId /> 
138                        <#else> 
139                            <#assign urlEvento="/aktualitatea/agenda/"+direccion+"?entryId="+ evento.calendarBookingId /> 
140                        </#if> 
141 
142                        <#assign esIdiomaEuskera = themeDisplay.getLanguageId() == "eu_ES"> 
143 
144                        <#function obtenerNombreMes(numeroMes, idioma)> 
145                          <#assign nombresMesesPorIdioma = { 
146                            "es_ES": ["ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"], 
147                            "en_US": ["jan", "feb", "mar", "apr", "May", "jun", "jul", "aug", "sep", "oct", "nov", "dec"], 
148                            "eu_ES": ["urt", "ots", "mar", "api", "mai", "eka", "uzt", "abu", "ira", "urr", "aza", "abe"], 
149                            "fr_FR": ["jan", "fév", "mar", "avr", "mai", "jui", "jui", "aoû", "sep", "oct", "nov", "déc"] 
150                          }> 
151 
152                          <#assign nombresMeses = nombresMesesPorIdioma[idioma]> 
153 
154                          <#return nombresMeses[numeroMes?number - 1]> 
155                        </#function> 
156 
157                        <#macro imprimirFecha fecha idioma> 
158                          <#assign partesFecha = fecha?split("/")> 
159 
160                          <#if esIdiomaEuskera> 
161                            <#assign dia = partesFecha[2]?trim /> 
162                          <#else> 
163                            <#assign dia = partesFecha[0]?trim /> 
164                          </#if> 
165                          <#assign numeroMes = partesFecha[1]?trim /> 
166                          <#assign anio = partesFecha[2]?trim /> 
167 
168                          ${obtenerNombreMes(numeroMes, idioma)}. ${dia} 
169                        </#macro> 
170 
171                        <div class="swiper-slide"> 
172                            <div class="pad15"> 
173                                <div class="imagebox"> 
174                                    <div class="izfe-evento-item-link d-block bg-white text-blue-dark h-100 m-0"> 
175                                        <div class="izfe-evento-item row m-0">	 
176                                            <div class="izfe-evento-item-imagen"> 
177                                                 
178                                                <a  
179                                                    class="d-flex w-100 justify-content-center"  
180                                                    aria-label='${evento.getTitle()?replace('"',' ')}'	 
181                                                    href="${urlEvento}" 
182
183                                                    <#if imagen != "" > 
184                                                        <img  
185                                                            alt="${evento.getTitle()?replace('"',' ')}"  
186                                                            title="${evento.getTitle()?replace('"',' ')}" 
187                                                            class="izfe-agenda-carousel-img" 
188                                                            src="${imagen}" 
189                                                        /> 
190                                                    <#else> 
191                                                        <img  
192                                                            alt="img-not-found" 
193                                                            title="img-not-found" 
194                                                            class="izfe-agenda-carousel-img" 
195                                                            src="${images_folder}/izfe/img-not-found.png"  
196                                                        /> 
197                                                    </#if> 
198                                                </a> 
199                                            </div> 
200                                            <div class="izfe-evento-item-txt"> 
201                                                <a  
202                                                    class="d-flex h-100 w-100 izfe-evento-link-right"  
203                                                    aria-label='${izena}'  
204                                                    href="${urlEvento}" 
205                                                >  
206                                                    <div class="d-flex flex-column"> 
207                                                        <h2 class="izfe-evento-titulo"> 
208                                                            ${izena} 
209                                                        </h2> 
210                                                        <div class="izfe-evento-fecha-hora">	 
211                                                            <#if fechaInicio != ""> 
212                                                                <span class="ml-1 mr-1"> 
213                                                                    <@imprimirFecha fecha=fechaInicio idioma=themeDisplay.getLanguageId() /> 
214                                                                </span> 
215                                                            </#if> 
216                                                             
217                                                            <#if fechaFin != "" && fechaFin != fechaInicio> 
218
219                                                                <span class="ml-1"> 
220                                                                    <@imprimirFecha fecha=fechaFin idioma=themeDisplay.getLanguageId() /> 
221                                                                </span> 
222                                                            <#else> 
223                                                                <span class="ml-1 mr-1"> 
224                                                                    ${horaInicio} 
225                                                                </span> 
226
227                                                                <span class="ml-1"> 
228                                                                    ${horaFin} 
229                                                                </span> 
230                                                            </#if> 
231                                                        </div> 
232                                                        <p class="izfe-evento-localizacion"> 
233                                                            <#if localizacion?has_content > 
234                                                                ${localizacion} 
235                                                            </#if> 
236                                                        </p> 
237                                                    </div> 
238                                                </a> 
239                                            </div> 
240                                        </div>	 
241                                    </div>			 
242			                    </div> 
243                            </div> 
244                        </div> 
245                    </#list> 
246                </div> 
247            </div> 
248            <#if totEventos!=1 && totEventos!=0> 
249            <div class="d-flex w-100 justify-content-center"> 
250                <div class="swiper-button-prev leftLst"> 
251                    <@clay.icon color="white" symbol="angle-left" /> 
252                </div> 
253                <div class="swiper-button-next rightLst"> 
254                    <@clay.icon color="white" symbol="angle-right" /> 
255                </div> 
256            </div>  
257            </#if> 
258        </#if> 
259        <div class="bloque-seccion__intro"> 
260            <div class="columns large-5 centerButton"> 
261                <div class="readmore readCarusel"> 
262                    <#assign urlAgenda = '#' /> 
263                    <#if locale.getLanguage() == 'es' > 
264                        <#assign urlAgenda = '/es/web/gipuzkoaturismoa/agenda' /> 
265                    <#else> 
266                        <#assign urlAgenda = '/eu/web/gipuzkoaturismoa/agenda' /> 
267                    </#if> 
268                    <a href="${urlAgenda}"><span> 
269                        <@liferay.language key="DGN.acceder-todos-eventos" /><svg height="13.828" viewbox="0 0 17.93 13.828" width="17.93" xmlns="http://www.w3.org/2000/svg"> <path d="M14.039-15.914l-1.078,1.078L18.047-9.75H3v1.5H18.047L12.961-3.164l1.078,1.078,6.375-6.375L20.93-9l-.516-.539Z" data-name="Trazado 143" id="Trazado_143" transform="translate(-3 15.914)"></path> </svg></span> 
270                    </a> 
271                </div> 
272            </div> 
273        </div> 
274    </div> 
275</div> 
276 
277 
278 
279 
280<script src="https://unpkg.com/swiper/swiper-bundle.min.js"></script> 
281 
282<script> 
283    var swiper = new Swiper(".mySwiper", { 
284        slidesPerView: 3.15, 
285        spaceBetween: 15, 
286        breakpoints: { 
287            0: { 
288                slidesPerView: 1.2, 
289                spaceBetween: 10, 
290            }, 
291            768: { 
292                slidesPerView: 2.2, 
293                spaceBetween: 20, 
294            }, 
295            992: { 
296                slidesPerView: 3.15, 
297                spaceBetween: 15, 
298            }, 
299        }, 
300        navigation: { 
301            nextEl: ".swiper-button-next", 
302            prevEl: ".swiper-button-prev", 
303        }, 
304    }); 
305 
306 
307    /*ADAPTAR IMAGENES 
308    var imagenesCarousel = document.getElementsByClassName('izfe-agenda-carousel-img'); 
309 
310    for(var i = 0; i < imagenesCarousel.length; i++){ 
311        if(imagenesCarousel[i].naturalHeight > imagenesCarousel[i].naturalWidth || imagenesCarousel[i].naturalHeight == imagenesCarousel[i].naturalWidth){ 
312            imagenesCarousel[i].style.height = "100%"; 
313            imagenesCarousel[i].style.width = "auto"; 
314        }else{ 
315            imagenesCarousel[i].style.height = "auto"; 
316            imagenesCarousel[i].style.width = "100%"; 
317
318    }  */ 
319 
320 
321    recortarTexto(65, 'izfe-evento-titulo', null) 
322 
323    function recortarTexto(limit, classResumen, idResumen){ 
324        if(idResumen == null){ 
325            var resumenes = document.getElementsByClassName(classResumen); 
326        }else{   
327            var resumenes = [document.getElementById(idResumen)]; 
328        }    
329 
330        for(var i = 0; i < resumenes.length; i++){ 
331            var resumen = resumenes[i].innerText; 
332            if(resumen.length > limit){ 
333                if(resumen[limit].toString() != ' '){ 
334                    var indiceRecorte = limit; 
335 
336                    for(var j = limit; j > 0; j--){ 
337                        if(resumen[j] == ' '){ 
338                            indiceRecorte = j; 
339                            break; 
340
341
342                    resumenes[i].innerText = resumen.toString().substr(0, j) + '...'; 
343                }else{ 
344                    resumenes[i].innerText = resumen.toString().substr(0, limit) + '...'; 
345
346
347
348
349 
350 
351 
352</script> 

#VISITGIPUZKOA