- CHDuero
- Servicio al ciudadano
- Datos abiertos
- Conjunto de datos
Se ha producido un error al procesar la plantilla.
Range start index 0 is out of bounds, because the sliced sequence has only 0 element(s). (Note that indices are 0-based).
The blamed expression:
==> 0..3 [in template "20099#20135#1223125" at line 390, column 80]
----
FTL stack trace ("~" means nesting-related):
- Failed at: #list enlaces[0..3] as enlace [in template "20099#20135#1223125" at line 390, column 65]
---- 1<#-- ESTILOS COMENTADOS, YA PASADOS A SCSS --> 2<style> 3 #detalle-submenu-chd .portlet-topper{ 4 display: none; 5 } 6 .asset-content{ 7 margin: 0!important; 8 } 9 10 #detalle-submenu-chd{ 11 height: auto; 12 } 13 14 #detalle-submenu-chd *{ 15 box-sizing: border-box; 16 } 17 18 #detalle-submenu-chd .detalle-submenu-wrapper{ 19 position: relative; 20 display: block; 21 margin-bottom: 30px; 22 } 23 24 #detalle-submenu-chd .header-detalle{ 25 position: relative; 26 background: white; 27 } 28 29 #detalle-submenu-chd .header-title{ 30 position: relative; 31 border-left: 10px solid #1c7696; 32 padding: 10px 20px; 33 font-size: 2.4rem; 34 font-weight: bold; 35 color: black; 36 margin: 0; 37 word-break: break-word; 38 margin-bottom: 30px; 39 user-select: none; 40 background: white; 41 line-height: 1.2; 42 } 43 44 #detalle-submenu-chd .rrss-stats-wrapper{ 45 display: flex; 46 border-top: 2px solid #1c7696; 47 padding: 10px 5px 0; 48 margin-bottom: 50px; 49 } 50 51 #detalle-submenu-chd .rrss-stats-wrapper .social-media-bar{ 52 display: grid; 53 grid-template-columns: auto 30px 30px; 54 grid-gap: 10px; 55 align-items: center; 56 } 57 58 #detalle-submenu-chd .rrss-stats-wrapper span{ 59 color: #1b576d; 60 } 61 62 #detalle-submenu-chd .btn-rrss { 63 height: 30px; 64 width: 30px; 65 border-radius: 50%; 66 display: flex; 67 justify-content: center; 68 align-items: center; 69 font-size: 1.1rem; 70 text-decoration: none; 71 color: white; 72 background: #1c7696; 73 } 74 75 #detalle-submenu-chd .contenido-detalle{ 76 position: relative; 77 display: block; 78 overflow: hidden; 79 width: 100%; 80 background: white; 81 color: black; 82 } 83 84 #detalle-submenu-chd .contenido-detalle b, 85 #detalle-submenu-chd .contenido-detalle strong{ 86 font-weight: 700; 87 } 88 89 #detalle-submenu-chd .img-principal{ 90 width: 35%; 91 float: right; 92 padding: 0 0 5px 15px; 93 } 94 95 #detalle-submenu-chd .img-principal img{ 96 width: 100%; 97 height: 100%; 98 object-fit: cover; 99 } 100 101 #detalle-submenu-chd .destacados{ 102 width: 100%; 103 height: auto; 104 } 105 106 #detalle-submenu-chd .destacados{ 107 position: relative; 108 margin-bottom: 30px; 109 } 110 111 #detalle-submenu-chd .destacados-header{ 112 display: flex; 113 background: white; 114 box-sizing: border-box; 115 border-left: 5px solid #1c7696; 116 } 117 118 #detalle-submenu-chd .destacados-header span { 119 font-size: 1.2em; 120 font-weight: 600; 121 color: #272727; 122 padding: 5px 15px; 123 user-select: none; 124 margin: 0; 125 } 126 127 #detalle-submenu-chd .destacados ul { 128 width: 100%; 129 margin: 0; 130 padding: 0; 131 overflow: hidden; 132 } 133 134 #detalle-submenu-chd .destacados .enlace-destacado { 135 display: flex; 136 align-items: baseline; 137 width: 100%; 138 text-decoration: none; 139 padding: 10px; 140 color: white; 141 word-break: break-word; 142 } 143 144 #detalle-submenu-chd .destacados ul > li{ 145 display: block; 146 } 147 148 #detalle-submenu-chd .destacados .enlace-destacado:hover, 149 #detalle-submenu-chd .destacados .enlace-destacado:focus { 150 opacity: 0.9; 151 } 152 153 #detalle-submenu-chd .enlace-destacado span{ 154 display: block; 155 width: calc(100% - 35px); 156 font-size: 0.95rem; 157 font-weight: 700; 158 } 159 160 #detalle-submenu-chd .enlace-destacado .destacado-icon{ 161 display: flex; 162 justify-content: center; 163 padding-right: 10px; 164 width: 35px; 165 } 166 167 #detalle-submenu-chd .color-1{ 168 background: #bbe5f3; 169 } 170 171 #detalle-submenu-chd .color-2{ 172 background: #1b576d; 173 } 174 175 #detalle-submenu-chd .color-3{ 176 background: #a7f5df; 177 } 178 179 #detalle-submenu-chd .color-1 span, 180 #detalle-submenu-chd .color-3 span{ 181 color: #1b576d; 182 } 183 184 #detalle-submenu-chd .color-4{ 185 background: #1c7696; 186 } 187 188 .print-action{ 189 display: none; 190 } 191 192 #detalle-submenu-chd .sticky-wrapper{ 193 position: sticky; 194 position: -webkit-sticky; 195 display: flex; 196 flex-direction: column; 197 top: 70px; 198 } 199 200 #detalle-submenu-chd .submenu-nav-wrapper .portlet{ 201 margin: 0; 202 } 203 204 #detalle-submenu-chd .item-visible{ 205 display: block!important; 206 } 207 208 #detalle-submenu-chd .detalleFicha{ 209 padding-left: 10px; 210 border-left: 3px solid #1c7696; 211 font-weight: 700; 212 margin-bottom: 10px; 213 margin-top: 40px; 214 } 215 216 #detalle-submenu-chd .detalleFicha:first-of-type{ 217 margin-top: 0; 218 } 219 220 /*-------------------------- RESPONSIVE --------------------------*/ 221 222 @media screen and (max-width: 767px) and (orientation: portrait){ 223 224 #detalle-submenu-chd .header-title{ 225 border-left-width: 8px; 226 padding: 0.5rem 1rem; 227 font-size: 2rem; 228 } 229 230 #detalle-submenu-chd .img-principal{ 231 float: none; 232 width: 100%; 233 height: 240px; 234 padding: 0; 235 margin-bottom: 20px; 236 } 237 238 #detalle-submenu-chd .img-principal img{ 239 object-position: center; 240 } 241 242 #detalle-submenu-chd table{ 243 display: block; 244 } 245 246 #detalle-submenu-chd .rrss-stats-wrapper{ 247 flex-direction: column; 248 padding: 10px 0 0; 249 margin-bottom: 20px; 250 } 251 252 #detalle-submenu-chd .rrss-stats-wrapper .social-media-bar{ 253 grid-template-columns: 80px 30px 30px; 254 margin-bottom: 15px; 255 } 256 } 257 258 @media screen and (max-width: 767px) and (orientation: landscape){ 259 260 #detalle-submenu-chd .header-title{ 261 font-size: 2.2rem; 262 border-left-width: 8px; 263 padding: 0.5rem 1rem; 264 } 265 266 #detalle-submenu-chd table{ 267 display: block; 268 } 269 } 270 271 /* Intercambiamos la posición del submenu de navegación por el de los ficheros asociados */ 272 @media screen and (max-width: 1199px){ 273 #detalle-submenu-chd .sticky-wrapper{ 274 position: static; 275 } 276 277 #detalle-submenu-chd .sticky-wrapper .submenu-nav-wrapper{ 278 order: 1; 279 } 280 281 #detalle-submenu-chd .sticky-wrapper .destacados{ 282 order: 2; 283 margin-bottom: 0; 284 } 285 } 286 287 @media print{ 288 #detalle-submenu-chd .social-media-bar{ 289 display: none; 290 } 291 292 #banner, nav#breadcrumbs, #footer, .taglib-header{ 293 display: none!important; 294 margin: 0px!important; 295 } 296 297 #detalle-submenu-chd #contenido-detalle a[href]:after{ 298 content: none!important; 299 } 300 301 #detalle-submenu-chd #contenido-detalle .img-principal{ 302 width: 150px!important; 303 } 304 } 305 306 /* Adaptación a Internet Explorer */ 307 #detalle-submenu-chd .rrss-stats-wrapper .social-media-bar{ 308 display: -ms-grid; 309 -ms-grid-columns: auto 10px 30px 10px 30px; 310 } 311 312 #detalle-submenu-chd .rrss-stats-wrapper .social-media-bar span{ 313 -ms-grid-column: 1; 314 } 315 316 #detalle-submenu-chd .rrss-stats-wrapper .social-media-bar a:nth-of-type(1){ 317 -ms-grid-column: 3; 318 } 319 320 #detalle-submenu-chd .rrss-stats-wrapper .social-media-bar a:nth-of-type(2){ 321 -ms-grid-column: 5; 322 } 323</style> 324 325<#-- Obtenemos la URL correspondiente --> 326<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext() /> 327<#assign themeDisplay = serviceContext.getThemeDisplay() /> 328<#assign currentURL = themeDisplay.getURLPortal()+themeDisplay.getURLCurrent() /> 329<#assign layout = themeDisplay.getLayout() /> 330<#assign pageId = layout.getPlid() /> 331 332<div class="row"> 333 <div id="detalle-submenu-chd" class="container-fluid-1280"> 334 <div class="row"> 335 <div class="col-xl-12 col-md-12"> 336 <div class="row"> 337 <div class="col-xl-9 col-lg-12"> 338 <section> 339 <article class="detalle-submenu-wrapper"> 340 <header class="header-detalle"> 341 <h1 class="header-title">${titulo.getData()}</h1> 342 </header> 343 344 <section> 345 <div class="contenido-detalle"> 346 ${contenido.getData()} 347 348 <#-- Colocamos el portlet de Datos Abierto GRID --> 349 <@liferay_portlet["runtime"] 350 defaultPreferences="${freeMarkerPortletPreferences}" 351 portletProviderAction=portletProviderAction.VIEW 352 portletName="openData_WAR_esaltiachdportletsopenData" 353 /> 354 </div> 355 <div class="rrss-stats-wrapper"> 356 <div class="social-media-bar"> 357 <span>Compartir: </span> 358 <a href="https://www.facebook.com/sharer/sharer.php?u=${currentURL}" class="btn-rrss" title="Compartir en Facebook" aria-label="Compartir en Facebook" target="_blank"> 359 <i class="fab fa-facebook-f" aria-hidden="true"></i> 360 </a> 361 <a href="https://twitter.com/share?url=${currentURL}&text=${titulo.getData()}" class="btn-rrss" title="Compartir en Twitter" aria-label="Compartir en Twitter" target="_blank"> 362 <i class="fab fa-twitter" aria-hidden="true"></i> 363 </a> 364 </div> 365 </div> 366 </section> 367 </article> 368 </section> 369 </div> 370 <div class="col-xl-3 col-lg-12"> 371 <section class="sticky-wrapper"> 372 <!-- Destacados --> 373 <#assign destacados = getterUtil.getString(themeDisplay.getThemeSetting("Destacados")) /> 374 <#if destacados != "UNSET" && destacados?trim != "" > 375 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 376 <#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 377 378 <#assign article = journalArticleLocalService.getLatestArticle(getterUtil.getLong(groupId), destacados, 0) /> 379 <#assign document = saxReaderUtil.read(article.getContent()) /> 380 <#assign enlaces = document.selectNodes("/root/dynamic-element[@name='texto_enlaceFieldSet']") /> 381 382 <nav class="destacados" aria-label="Menú secciones destacadas" role="navigation"> 383 <div class="destacados-header" tabindex="0"> 384 <span>Destacados</span> 385 </div> 386 387 <ul role="tree"> 388 <#assign count = 1 /> 389 <#-- Tomamos unicamente los 4 primeros destacados. --> 390 <#list enlaces[0..3] as enlace> 391 <#assign 392 texto = enlace.selectSingleNode("dynamic-element[@name='texto_enlace']/dynamic-content[@language-id='es_ES']").getText() 393 icono = enlace.selectSingleNode("dynamic-element[@name='texto_enlaceFieldSetFieldSet']/dynamic-element[@name='icono']/dynamic-content[@language-id='es_ES']").getText() 394 url = enlace.selectSingleNode("dynamic-element[@name='texto_enlaceFieldSetFieldSet']/dynamic-element[@name='enlace']/dynamic-content[@language-id='es_ES']").getText() 395 layoutID = url?split(",")?last?split(":")?last?replace("\"","")?replace("}","") 396 groupID = url?split(",")?first?split(":")?last?replace("\"","")?replace("{","") 397 pageLayout = layoutLocalService.getLayout(groupID?number, false, layoutID?number) 398 layoutURL = pageLayout.getFriendlyURL() 399 /> 400 <li role="treeitem"> 401 <a href="${layoutURL}" class="enlace-destacado color-${count}" aria-label="${texto}"> 402 <span class="destacado-icon ${icono}"></span> 403 <span>${texto}</span> 404 </a> 405 </li> 406 <#assign count = count + 1 /> 407 </#list> 408 </ul> 409 </nav> 410 </#if> 411 412 413 <div class="submenu-nav-wrapper"> 414 <#-- Establecemos las preferencias para la configuración del menú de navegación de los subniveles --> 415 <#-- Obtenemos el valor del theme-setting que define la plantilla que se aplicará al menú, si esta vacia aplicaremos el formato lista. --> 416 <#assign nav_adt_id = getterUtil.getString(themeDisplay.getThemeSetting("AdtMenuNavegacion")) /> 417 <#if (nav_adt_id?trim ="")> 418 <#assign nav_adt_id = "ddmTemplate_LIST-MENU-FTL" /> 419 <#else> 420 <#assign nav_adt_id = "ddmTemplate_"+nav_adt_id /> 421 </#if> 422 <#assign subNavPreferencesMap = { 423 "siteNavigationMenuType": "6", 424 "displayStyle": nav_adt_id?string, 425 "rootMenuItemType": "relative", 426 "rootMenuItemLevel": "2", 427 "displayDepth": "0", 428 "expandedLevels": "auto" 429 }/> 430 431 <#assign myInstanceId = pageId+"_nav_menu" /> 432 433 <@liferay.navigation_menu 434 default_preferences=freeMarkerPortletPreferences.getPreferences(subNavPreferencesMap) 435 instance_id= myInstanceId 436 /> 437 </div> 438 </section> 439 </div> 440 </div> 441 </div> 442 </div> 443 </div> 444</div> 445 446<script> 447 /* Controlamos la posición del sticky-wrapper en funcion de la existencia del menu de control */ 448 if($('#ControlMenu').length){ 449 $('.sticky-wrapper').css('top','128px'); 450 } 451</script>