-
-
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> themeDisplay.getURLCurrent()?split("/es/programa-gobierno-23-27/proyectos/")[1] [in template "32250#32291#102811" at line 171, column 64] ---- 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 urlProyecto = themeDisplay.ge... [in template "32250#32291#102811" at line 171, column 41] ----1<#if entries?has_content>2 <div class="d-flex">3 <#list entries as entry>45 <#assign shortLanguageId = entry.getW3cLanguageId()?substring(0, 2)?upper_case />6 <#assign url = "#"/>7 <!-- Tramites -->8 <#if themeDisplay.getURLCurrent()?contains("/eu/tramiteak/") || themeDisplay.getURLCurrent()?contains("/es/tramites/") || themeDisplay.getURLCurrent()?contains("/tramiteak/") || themeDisplay.getURLCurrent()?contains("/tramites/")>9 <#if themeDisplay.getURLCurrent()?contains("/eu/tramiteak/")>10 <#assign urlTramite = themeDisplay.getURLCurrent()?split("/eu/tramiteak/")[1]/>11 <#elseif themeDisplay.getURLCurrent()?contains("/tramiteak/")>12 <#assign urlTramite = themeDisplay.getURLCurrent()?split("/tramiteak/")[1]/>13 <#elseif themeDisplay.getURLCurrent()?contains("/es/tramites/")>14 <#assign urlTramite = themeDisplay.getURLCurrent()?split("/es/tramites/")[1]/>15 <#else>16 <#assign urlTramite = themeDisplay.getURLCurrent()?split("/tramites/")[1]/>17 </#if>18 <#assign tramites = restClient.get("/c/tramites/scopes/${themeDisplay.getScopeGroupId()}?filter=url%20eq%20%27${urlTramite}%27")/>19 <#if tramites?? && tramites.items?? && tramites.items?has_content>20 <#list tramites.items[0].url_i18n as key, value>21 <#if key = entry.getW3cLanguageId()?replace("-", "_")>22 <#assign urli18n = value/>23 <#break/>24 </#if>25 </#list>26 <#assign url = (entry.getW3cLanguageId() = "eu-ES")?then("/eu/tramiteak/", "/es/tramites/") + urli18n/>27 <#else>28 <#assign url = entry.getURL()?default('#')/>29 </#if>30 <!-- Sala de prensa -->31 <#elseif themeDisplay.getURLCurrent()?contains("/eu/aktualitatea/prentsa-aretoa/") || themeDisplay.getURLCurrent()?contains("/es/actualidad/sala-de-prensa/") || themeDisplay.getURLCurrent()?contains("/aktualitatea/prentsa-aretoa/") || themeDisplay.getURLCurrent()?contains("/actualidad/sala-de-prensa/")>32 <#if themeDisplay.getURLCurrent()?contains("/eu/aktualitatea/prentsa-aretoa/")>33 <#assign urlPrensa = themeDisplay.getURLCurrent()?split("/eu/aktualitatea/prentsa-aretoa/")[1]/>34 <#elseif themeDisplay.getURLCurrent()?contains("/aktualitatea/prentsa-aretoa/")>35 <#assign urlPrensa = themeDisplay.getURLCurrent()?split("/aktualitatea/prentsa-aretoa/")[1]/>36 <#elseif themeDisplay.getURLCurrent()?contains("/es/actualidad/sala-de-prensa/")>37 <#assign urlPrensa = themeDisplay.getURLCurrent()?split("/es/actualidad/sala-de-prensa/")[1]/>38 <#else>39 <#assign urlPrensa = themeDisplay.getURLCurrent()?split("/actualidad/sala-de-prensa/")[1]/>40 </#if>41 <#assign notasPrensa = restClient.get("/headless-delivery/v1.0/structured-content-folders/1467225/structured-contents?filter=friendlyUrlPath eq '${urlPrensa}'")/>42 <#if notasPrensa?? && notasPrensa.items?? && notasPrensa.items?has_content>43 <#assign url = (entry.getW3cLanguageId() = "eu-ES")?then("/eu/aktualitatea/prentsa-aretoa/", "/es/actualidad/sala-de-prensa/") + notasPrensa.items[0].friendlyUrlPath/>44 <#else>45 <#assign url = entry.getURL()?default('#')/>46 </#if>47 <!-- Noticias -->48 <#elseif themeDisplay.getURLCurrent()?contains("/eu/aktualitatea/") || themeDisplay.getURLCurrent()?contains("/es/actualidad/") || themeDisplay.getURLCurrent()?contains("/aktualitatea/") || themeDisplay.getURLCurrent()?contains("/actualidad/")>49 <#if themeDisplay.getURLCurrent()?contains("/eu/aktualitatea/")>50 <#assign urlNoticia = themeDisplay.getURLCurrent()?split("/eu/aktualitatea/")[1]/>51 <#elseif themeDisplay.getURLCurrent()?contains("/aktualitatea/")>52 <#assign urlNoticia = themeDisplay.getURLCurrent()?split("/aktualitatea/")[1]/>53 <#elseif themeDisplay.getURLCurrent()?contains("/es/actualidad/")>54 <#assign urlNoticia = themeDisplay.getURLCurrent()?split("/es/actualidad/")[1]/>55 <#else>56 <#assign urlNoticia = themeDisplay.getURLCurrent()?split("/actualidad/")[1]/>57 </#if>58 <#assign noticias = restClient.get("/headless-delivery/v1.0/structured-content-folders/198165/structured-contents?filter=friendlyUrlPath eq '${urlNoticia}'")/>59 <#if noticias?? && noticias.items?? && noticias.items?has_content>60 <#assign url = (entry.getW3cLanguageId() = "eu-ES")?then("/eu/aktualitatea/", "/es/actualidad/") + noticias.items[0].friendlyUrlPath/>61 <#else>62 <#assign url = entry.getURL()?default('#')/>63 </#if>64 <!-- Agenda -->65 <#elseif themeDisplay.getURLCurrent()?contains("/eu/agenda/") || themeDisplay.getURLCurrent()?contains("/es/agenda/") || themeDisplay.getURLCurrent()?contains("/agenda/")>66 <#if themeDisplay.getURLCurrent()?contains("/eu/agenda/")>67 <#assign urlEvento = themeDisplay.getURLCurrent()?split("/eu/agenda/")[1]/>68 <#elseif themeDisplay.getURLCurrent()?contains("/es/agenda/")>69 <#assign urlEvento = themeDisplay.getURLCurrent()?split("/es/agenda/")[1]/>70 <#else>71 <#assign urlEvento = themeDisplay.getURLCurrent()?split("/agenda/")[1]/>72 </#if>73 <#assign eventos = restClient.get("/headless-delivery/v1.0/asset-libraries/180536/structured-contents?filter=friendlyUrlPath eq '${urlEvento}'")/>74 <#if eventos?? && eventos.items?? && eventos.items?has_content>75 <#assign url = "/${shortLanguageId?lower_case}/agenda/" + eventos.items[0].friendlyUrlPath/>76 <#else>77 <#assign url = entry.getURL()?default('#')/>78 </#if>79 <!-- Avisos -->80 <#elseif themeDisplay.getURLCurrent()?contains("/eu/abisuak/") || themeDisplay.getURLCurrent()?contains("/es/avisos/") || themeDisplay.getURLCurrent()?contains("/abisuak/") || themeDisplay.getURLCurrent()?contains("/avisos/")>81 <#if themeDisplay.getURLCurrent()?contains("/eu/abisuak/")>82 <#assign urlAviso = themeDisplay.getURLCurrent()?split("/eu/abisuak/")[1]/>83 <#elseif themeDisplay.getURLCurrent()?contains("/abisuak/")>84 <#assign urlAviso = themeDisplay.getURLCurrent()?split("/abisuak/")[1]/>85 <#elseif themeDisplay.getURLCurrent()?contains("/es/avisos/")>86 <#assign urlAviso = themeDisplay.getURLCurrent()?split("/es/avisos/")[1]/>87 <#else>88 <#assign urlAviso = themeDisplay.getURLCurrent()?split("/avisos/")[1]/>89 </#if>90 <#assign avisos = restClient.get("/headless-delivery/v1.0/structured-content-folders/922507/structured-contents?filter=friendlyUrlPath eq '${urlAviso}'")/>91 <#if avisos?? && avisos.items?? && avisos.items?has_content>92 <#assign url = (entry.getW3cLanguageId() = "eu-ES")?then("/eu/abisuak/", "/es/avisos/") + avisos.items[0].friendlyUrlPath/>93 <#else>94 <#assign url = entry.getURL()?default('#')/>95 </#if>96 <!-- Bosque urbano -->97 <#elseif themeDisplay.getURLCurrent()?contains("/eu/nolakoa-den-hiria/parkeak-lorategiak/hiri-basoa/") || themeDisplay.getURLCurrent()?contains("/es/como-es-ciudad/parques-jardines/bosque-urbano/") || themeDisplay.getURLCurrent()?contains("/nolakoa-den-hiria/parkeak-lorategiak/hiri-basoa/") || themeDisplay.getURLCurrent()?contains("/como-es-ciudad/parques-jardines/bosque-urbano/")>98 <#if themeDisplay.getURLCurrent()?contains("/eu/nolakoa-den-hiria/parkeak-lorategiak/hiri-basoa/")>99 <#assign urlArbol = themeDisplay.getURLCurrent()?split("/eu/nolakoa-den-hiria/parkeak-lorategiak/hiri-basoa/")[1]/>100 <#elseif themeDisplay.getURLCurrent()?contains("/nolakoa-den-hiria/parkeak-lorategiak/hiri-basoa/")>101 <#assign urlArbol = themeDisplay.getURLCurrent()?split("/nolakoa-den-hiria/parkeak-lorategiak/hiri-basoa/")[1]/>102 <#elseif themeDisplay.getURLCurrent()?contains("/es/como-es-ciudad/parques-jardines/bosque-urbano/")>103 <#assign urlArbol = themeDisplay.getURLCurrent()?split("/es/como-es-ciudad/parques-jardines/bosque-urbano/")[1]/>104 <#else>105 <#assign urlArbol = themeDisplay.getURLCurrent()?split("/como-es-ciudad/parques-jardines/bosque-urbano/")[1]/>106 </#if>107 <#assign arboles = restClient.get("/headless-delivery/v1.0/structured-content-folders/397442/structured-contents?filter=friendlyUrlPath eq '${urlArbol}'")/>108 <#if arboles?? && arboles.items?? && arboles.items?has_content>109 <#assign url = (entry.getW3cLanguageId() = "eu-ES")?then("/eu/nolakoa-den-hiria/parkeak-lorategiak/hiri-basoa/", "/es/como-es-ciudad/parques-jardines/bosque-urbano/") + arboles.items[0].friendlyUrlPath/>110 <#else>111 <#assign url = entry.getURL()?default('#')/>112 </#if>113 <!-- Parques y jardines -->114 <#elseif themeDisplay.getURLCurrent()?contains("/eu/nolakoa-den-hiria/parkeak-lorategiak/") || themeDisplay.getURLCurrent()?contains("/es/como-es-ciudad/parques-jardines/") || themeDisplay.getURLCurrent()?contains("/nolakoa-den-hiria/parkeak-lorategiak/") || themeDisplay.getURLCurrent()?contains("/como-es-ciudad/parques-jardines/")>115 <#if themeDisplay.getURLCurrent()?contains("/eu/nolakoa-den-hiria/parkeak-lorategiak/")>116 <#assign urlParque = themeDisplay.getURLCurrent()?split("/eu/nolakoa-den-hiria/parkeak-lorategiak/")[1]/>117 <#elseif themeDisplay.getURLCurrent()?contains("/nolakoa-den-hiria/parkeak-lorategiak/")>118 <#assign urlParque = themeDisplay.getURLCurrent()?split("/nolakoa-den-hiria/parkeak-lorategiak/")[1]/>119 <#elseif themeDisplay.getURLCurrent()?contains("/es/como-es-ciudad/parques-jardines/")>120 <#assign urlParque = themeDisplay.getURLCurrent()?split("/es/como-es-ciudad/parques-jardines/")[1]/>121 <#else>122 <#assign urlParque = themeDisplay.getURLCurrent()?split("/como-es-ciudad/parques-jardines/")[1]/>123 </#if>124 <#assign parques = restClient.get("/headless-delivery/v1.0/structured-content-folders/442385/structured-contents?filter=friendlyUrlPath eq '${urlParque}'")/>125 <#if parques?? && parques.items?? && parques.items?has_content>126 <#assign url = (entry.getW3cLanguageId() = "eu-ES")?then("/eu/nolakoa-den-hiria/parkeak-lorategiak/", "/es/como-es-ciudad/parques-jardines/") + parques.items[0].friendlyUrlPath/>127 <#elseif themeDisplay.getURLCurrent() = "/es/como-es-ciudad/parques-jardines/artikutza" || themeDisplay.getURLCurrent() = "/eu/nolakoa-den-hiria/parkeak-lorategiak/artikutza">128 <#assign url = (entry.getW3cLanguageId() = "eu-ES")?then("/eu/nolakoa-den-hiria/parkeak-lorategiak/", "/es/como-es-ciudad/parques-jardines/") + "artikutza"/>129 <#else>130 <#assign url = entry.getURL()?default('#')/>131 </#if>132 <!-- Puntos de visita -->133 <#elseif themeDisplay.getURLCurrent()?contains("/eu/zerbitzuak/polloe-hilerriko-bisitalekuak/") || themeDisplay.getURLCurrent()?contains("/es/servicios/puntos-visita-cementerio-polloe/")>134 <#if themeDisplay.getURLCurrent()?contains("/eu/zerbitzuak/polloe-hilerriko-bisitalekuak/")>135 <#assign urlPunto = themeDisplay.getURLCurrent()?split("/eu/zerbitzuak/polloe-hilerriko-bisitalekuak/")[1]/>136 <#else>137 <#assign urlPunto = themeDisplay.getURLCurrent()?split("/es/servicios/puntos-visita-cementerio-polloe/")[1]/>138 </#if>139 <#assign puntos = restClient.get("/headless-delivery/v1.0/asset-libraries/250497/structured-contents?filter=friendlyUrlPath eq '${urlPunto}'")/>140 <#if puntos?? && puntos.items?? && puntos.items?has_content>141 <#assign url = (entry.getW3cLanguageId() = "eu-ES")?then("/eu/zerbitzuak/polloe-hilerriko-bisitalekuak/", "/es/servicios/puntos-visita-cementerio-polloe/") + puntos.items[0].friendlyUrlPath/>142 <#else>143 <#assign url = entry.getURL()?default('#')/>144 </#if>145 <!-- Proyectos NEXT -->146 <#elseif themeDisplay.getURLCurrent()?contains("/eu/next-generation/proiektuak/") || themeDisplay.getURLCurrent()?contains("/es/next-generation/proyectos/") || themeDisplay.getURLCurrent()?contains("/next-generation/proiektuak/") || themeDisplay.getURLCurrent()?contains("/next-generation/proyectos/")>147 <#if themeDisplay.getURLCurrent()?contains("/eu/next-generation/proiektuak/")>148 <#assign urlProyecto = themeDisplay.getURLCurrent()?split("/eu/next-generation/proiektuak/")[1]/>149 <#elseif themeDisplay.getURLCurrent()?contains("/next-generation/proiektuak/")>150 <#assign urlProyecto = themeDisplay.getURLCurrent()?split("/next-generation/proiektuak/")[1]/>151 <#elseif themeDisplay.getURLCurrent()?contains("/es/next-generation/proyectos/")>152 <#assign urlProyecto = themeDisplay.getURLCurrent()?split("/es/next-generation/proyectos/")[1]/>153 <#else>154 <#assign urlProyecto = themeDisplay.getURLCurrent()?split("/next-generation/proyectos/")[1]/>155 </#if>156 <#assign proyectos = restClient.get("/headless-delivery/v1.0/structured-content-folders/932255/structured-contents?filter=friendlyUrlPath eq '${urlProyecto}'")/>157 <#if proyectos?? && proyectos.items?? && proyectos.items?has_content>158 <#assign url = (entry.getW3cLanguageId() = "eu-ES")?then("/eu/next-generation/proiektuak/", "/es/next-generation/proyectos/") + proyectos.items[0].friendlyUrlPath/>159 <#else>160 <#assign url = entry.getURL()?default('#')/>161 </#if>162 <!-- Programa de gobierno -->163 <#elseif themeDisplay.getURLCurrent()?contains("/eu/gobernu-programa-23-27/proiektuak/") || themeDisplay.getURLCurrent()?contains("/es/programa-gobierno-23-27/proyectos/") || themeDisplay.getURLCurrent()?contains("/gobernu-programa-23-27/proiektuak/") || themeDisplay.getURLCurrent()?contains("/programa-gobierno-23-27/proyectos/")>164 <#if themeDisplay.getURLCurrent()?contains("/eu/gobernu-programa-23-27/proiektuak/")>165 <#assign urlProyecto = themeDisplay.getURLCurrent()?split("/eu/gobernu-programa-23-27/proiektuak/")[1]/>166 <#elseif themeDisplay.getURLCurrent()?contains("/gobernu-programa-23-27/proiektuak/")>167 <#assign urlProyecto = themeDisplay.getURLCurrent()?split("/gobernu-programa-23-27/proiektuak/")[1]/>168 <#elseif themeDisplay.getURLCurrent()?contains("/es/programa-gobierno-23-27/proyectos/")>169 <#assign urlProyecto = themeDisplay.getURLCurrent()?split("/es/programa-gobierno-23-27/proyectos/")[1]/>170 <#else>171 <#assign urlProyecto = themeDisplay.getURLCurrent()?split("/es/programa-gobierno-23-27/proyectos/")[1]/>172 </#if>173 <#assign proyectos = restClient.get("/headless-delivery/v1.0/structured-content-folders/950221/structured-contents?filter=friendlyUrlPath eq '${urlProyecto}'")/>174 <#if proyectos?? && proyectos.items?? && proyectos.items?has_content>175 <#assign url = (entry.getW3cLanguageId() = "eu-ES")?then("/eu/gobernu-programa-23-27/proiektuak/", "/es/programa-gobierno-23-27/proyectos/") + proyectos.items[0].friendlyUrlPath/>176 <#else>177 <#assign url = entry.getURL()?default('#')/>178 </#if>179 <!-- Default -->180 <#else>181 <#assign url = entry.getURL()?default('#')/>182 </#if>183184 <a href="${url}"185 class="btn-transparent c-color-gray <#if entry.isSelected()>m-language-selected</#if>"186 <#if entry.isDisabled()>aria-disabled="true"</#if>>187 <span>${shortLanguageId?upper_case}</span>188 </a>189190 <#if entry_has_next>191 <div class="c-separator mr-2 ml-2"></div>192 </#if>193 </#list>194 </div>195</#if>
¡Estamos en fase de renovación!
Puede que se nos haya quedado algo por el camino. Si encuentras cualquier error o problema avísanos, por favor.
Avísanos- Inicio
- Programa de Gobierno 2023-2027
- Todos los proyectos
- Generación de nueva vivienda
Proyectos de ciudad
Generación de nueva vivienda
Desarrollar los planes de generación de nueva vivienda previstos para cumplir el objetivo de crear 6.000 viviendas nuevas para 2033. Asimismo, definir normativas que faciliten la rehabilitación, segregación y adaptación del patrimonio ya construido.
La generación de nueva vivienda es una de las prioridades para Donostia. Viviendas que posibiliten el desarrollo de los diferentes proyectos de vida de donostiarras de todas las edades. El objetivo principal es destensionar el mercado de la vivienda.
Vivienda
Creación de nueva vivienda
Vivienda pública y de alquiler