Search the Aladi Catalog for books, movies and music
Bookmobiles
An error occurred while processing the template.
The following has evaluated to null or missing:
==> thereIsImage [in template "10901#10934#BIBLIOBUS" at line 406, column 30]
----
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: #if thereIsImage || thereIsReferenceL... [in template "10901#10934#BIBLIOBUS" at line 406, column 25]
---- 1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 2<#assign articles = journalArticleLocalService.getStructureArticles(groupId, 435087, 0,1,null)> 3<#assign groupUtil = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")> 4<#assign group = groupUtil.getGroup(groupId)> 5<#assign articleTitle=.vars["reserved-article-title"].data> 6<#assign imgSrc=""> 7<#assign thereIsReferenceLibrary = false> 8<#assign thereAreObs = false> 9<#setting locale=locale> 10 11<#assign geniusGroupId="6200569"> 12<#if (scopeGroupId?number != geniusGroupId?number)> 13 <div class="library-general-info bibliobus"> 14 <h2>${articleTitle}</h2> 15 <div class="valoraciones hidden-sm hidden-xs"> 16 <div class="a2a_kit a2a_kit_size_32 a2a_default_style" data-a2a-url="${themeDisplay.getPortalURL()}${themeDisplay.getURLCurrent()}" data-a2a-title="${articleTitle}" style="background-color: #e6e6e6;display: inline-block;" data-a2a-icon-color="#e6e6e6,#000000"> 17 <div class="a2a_kit a2a_kit_size_32 a2a_default_style"> 18 <a class="a2a_dd" href="https://www.addtoany.com/share"></a> 19 <a class="a2a_button_email"></a> 20 <a class="a2a_button_print"></a> 21 </div> 22 23 <script> 24 var a2a_config = a2a_config || {}; 25 a2a_config.onclick = false; 26 a2a_config.locale = "es"; 27 28 /* MIGRATION FIX: jQuery ($(document).ready) -> DOMContentLoaded natiu */ 29 document.addEventListener('DOMContentLoaded', function () { 30 try { 31 var script = document.createElement('script'); 32 script.src = "https://static.addtoany.com/menu/page.js"; 33 script.addEventListener('load', function () { 34 try { 35 a2a.init_all(); 36 } catch (error) { 37 console.error(error.message); 38 } 39 }); 40 document.head.appendChild(script); 41 } catch (error) { 42 console.error(error.message); 43 } 44 }); 45 </script> 46 </div> 47 </div> 48 <div class="library-contact-data"> 49 <div class="row info"> 50 <div class="hidden-xs hidden-sm col-md-1"> 51 <!--## Redes sociales --> 52 <#assign thereAreValidNetworks = false> 53 54 <#list socialNetwork.getSiblings() as network> 55 <#if ( (network.getData() != "") && (network.socialNetworkUrl.getData() != "") )> 56 <#assign thereAreValidNetworks = true > 57 <#break> 58 </#if> 59 </#list> 60 61 <#if (thereAreValidNetworks)> 62 <span class="accesible-hidden">${languageUtil.get(locale, "bibliobus.bibliobusdetail.socialnetworks.label")}:</span> 63 <ul class="value"> 64 <#list socialNetwork.getSiblings() as network> 65 <#if ( (network.getData() != "") && (network.socialNetworkUrl.getData() != "") )> 66 <li><a class="${network.getData()}" href="${htmlUtil.escape(network.socialNetworkUrl.getData())}">${network.getData()}</a></li> 67 </#if> 68 </#list> 69 </ul> 70 </#if> 71 72 </div> 73 <div class="col-12 col-sm-7 col-md-7"> 74 <#if referenceLibrary.getData()!=""> 75 <#assign thereIsReferenceLibrary = true> 76 </#if> 77 <#-- MIGRATION FIX: inicialitzem imgBusSrc per evitar variable indefinida si cap branca assigna --> 78 <#assign imgBusSrc = ""> 79 <#if ((busImageFieldSet.busImage.getData())!"") != "" > 80 <#assign imgBusSrc = busImageFieldSet.busImage.getData()> 81 <#elseif ((busImageFieldSet.urlExterna2.getData())!"") != ""> 82 <#assign imgBusSrc = busImageFieldSet.urlExterna2.getData()> 83 </#if> 84 85 <#if (imgBusSrc!="" || thereIsReferenceLibrary)> 86 <div class="imagen"> 87 88 <#if (articles?has_content)> 89 <#list articles as article> 90 <#assign artTemp=article> 91 </#list> 92 <#-- MIGRATION FIX: sense saxReaderUtil; s'usa artTemp.getDocument() (document ja parsejat per l'article) + guarda null --> 93 <#assign doc = artTemp.getDocument()!> 94 <#assign imatgesBiblio = []> 95 <#if doc?? && doc?has_content> 96 <#assign root = doc.getRootElement()> 97 <#assign imatgesBiblio = root.selectNodes("dynamic-element[@name='BloqueImagenFieldSet']/dynamic-element[@name='ImagenFieldSet']")> 98 </#if> 99 100 <#assign totalCount = 0> 101 <#-- MIGRATION FIX: carrusel adaptat a Bootstrap 5 (data-bs-ride/slide-to/target/slide) --> 102 <div id="carousal" class="carousel slide" data-bs-ride="carousel"> 103 <ol class="carousel-indicators"> 104 <#assign indexItem=0> 105 <#assign classCarouselItem="active"> 106 <li data-bs-target="#carousal" data-bs-slide-to="${indexItem}" class="${classCarouselItem}"></li> 107 <#assign indexItem++> 108 <#assign classCarouselItem=""> 109 <#list imatgesBiblio as imatgeBibliop> 110 <#assign jsonImatge=imatgeBibliop.getStringValue()?trim> 111 112 <#if (validator.isNotNull(jsonImatge) && jsonImatge!="" && jsonImatge?starts_with('{'))> 113 <#assign jsonObject=jsonFactoryUtil.createJSONObject(jsonImatge)> 114 <#if jsonObject.has('groupId') && jsonObject.has('uuid')> 115 <li data-bs-target="#carousal" data-bs-slide-to="${indexItem}" class="${classCarouselItem}"></li> 116 <#assign classCarouselItem=""> 117 <#assign indexItem++> 118 </#if> 119 </#if> 120 </#list> 121 </ol> 122 <#-- MIGRATION FIX BS5: .carousel-inner wrapper obligatori --> 123 <div class="carousel-inner"> 124 <#assign classCarouselItem="active"> 125 <#assign indexItem=0> 126 <div class="carousel-item ${classCarouselItem}"> 127 <a href="${(busImageFieldSet.busImage.getData())!""}"><img class="d-block w-100" src="${(busImageFieldSet.busImage.getData())!""}" /></a> 128 </div> 129 <#assign indexItem++> 130 <#assign classCarouselItem=""> 131 <#list imatgesBiblio as imatgeBibliop> 132 133 <#assign jsonImatge=imatgeBibliop.getStringValue()?trim> 134 135 <#if (validator.isNotNull(jsonImatge) && jsonImatge!="" && jsonImatge?starts_with('{'))> 136 <#assign jsonObject=jsonFactoryUtil.createJSONObject(jsonImatge)> 137 <#if jsonObject.has('groupId') && jsonObject.has('uuid')> 138 <div class="carousel-item ${classCarouselItem}"> 139 <a href="/documents/${jsonObject.groupId}/${jsonObject.uuid}"><img class="d-block w-100" src="/documents/${jsonObject.groupId}/${jsonObject.uuid}" /></a> 140 </div> 141 </#if> 142 143 </#if> 144 <#assign indexItem++> 145 </#list> 146 </div> 147 <a class="carousel-control-prev" href="#carousal" role="button" data-bs-slide="prev" data-bs-target="#carousal" aria-label="${languageUtil.get(locale, "contentlist.view.prev")}"> 148 <span class="carousel-control-prev-icon" aria-hidden="true"></span> 149 </a> 150 <a class="carousel-control-next" href="#carousal" role="button" data-bs-slide="next" data-bs-target="#carousal" aria-label="${languageUtil.get(locale, "contentlist.view.next")}"> 151 <span class="carousel-control-next-icon" aria-hidden="true"></span> 152 </a> 153 </div> 154 155 <#else> 156 <img src="${htmlUtil.escape(imgBusSrc)}" alt="${name.getData()}" height="230" width="310" /> 157 </#if> 158 </div> 159 </#if> 160 161 162 163 164 165 </div> 166 <div class="col-12 col-sm-5 col-md-4"> 167 <div class="biblio-data"> 168 <dl> 169 170 <#if address.getData() != ""> 171 <dt class="m1"><span class="accesible-hidden">${languageUtil.get(locale, "bibliobus.bibliobusdetail.address.label")}:</span><span class="icon-address"></span></dt> 172 <dd class="m1">${address.getData()}</dd> 173 </#if> 174 175 <#if phone.getData() != ""> 176 <dt><span class="accesible-hidden">${languageUtil.get(locale, "bibliobus.bibliobusdetail.phone.label")}:</span><span class="icon-phone"></span></dt> 177 <dd><span><a href="tel:${phone.getData()}">${phone.getData()}</a></span></dd> 178 </#if> 179 180 <#if email.getData() != ""> 181 <dt class="m1"><span class="accesible-hidden">${languageUtil.get(locale, "bibliobus.bibliobusdetail.email.label")}:</span><span class="icon-email"></span></dt> 182 <dd><a href="mailto:${email.getData()}">${email.getData()}</a></dd> 183 </#if> 184 185 <!--## Oculto por si se vuelve a utilizar en un futuro 186 ## #if( $webUrl && ($webUrl.getData() != "") ) 187 ## <dt>Web</dt><dd>$webUrl.getData()</dd> 188 ## #end--> 189 190 <#if managerName.getData() != ""> 191 <dt><span class="icon-manager"></span></dt><dd><strong>${languageUtil.get(locale, "bibliobus.bibliobusdetail.manager.label")}:</strong><br/>${managerName.getData()}</dd> 192 </#if> 193 194 <#if thereIsReferenceLibrary> 195 <dt></dt> 196 <dd><span class="referenceLibrary">${languageUtil.get(locale, "bibliobus.bibliobusdetail.supporterlibrary.label")}:</span><br/><span>${referenceLibrary.getData()}</span></dd> 197 </#if> 198 199 <#if statisticsUrl.getData() != ""> 200 <dt><span class="icon-pdf"></span></dt> 201 <dd><a href="${htmlUtil.escape(statisticsUrl.getData())}" target="_blank">${languageUtil.get(locale, "statistics")}</a></dd> 202 </#if> 203 204 205 <#if horariosUrl.getData() != ""> 206 <dt><span class="icon-pdf"></span></dt> 207 <dd><a href="${htmlUtil.escape(horariosUrl.getData())}" target="_blank">${languageUtil.get(locale, "bibliobus.librarydetail.horarios.label")}</a></dd> 208 </#if> 209 <#if photosPlansUrl.getData() != ""> 210 <dt><span class="icon-pdf"></span></dt> 211 <dd><a href="${htmlUtil.escape(photosPlansUrl.getData())}" target="_blank">${languageUtil.get(locale, "bibliobus.librarydetail.floorplans.label")}</a></dd> 212 </#if> 213 214 215 <dt></dt> 216 <dd> 217 <div class="btnbibliobus"> 218 <#assign formPage=""> 219 <#if locale?string == "ca_ES"> 220 <#assign formPage="biblioteques/connecta-amb-bibliobus"> 221 <#elseif locale?string == "es_ES"> 222 <#assign formPage="biblioteques/conecta-con-bibliobus"> 223 <#elseif locale?string == "en_US"> 224 <#assign formPage="biblioteques/connect-with-the-bookmobile"> 225 </#if> 226 <a href="http://formularis.diba.cat/diba/${formPage}">${languageUtil.get(locale, "bibliobus.librarydetail.formulario.label")}</a> 227 </div> 228 </dd> 229 </dl> 230 </div> 231 </div> 232 </div> 233 234 <div class="row-fluid info-tablet hidden-xs hidden-md hidden-lg"> 235 <div class="col-sm-12"> 236 <dl> 237 <#if statisticsUrl.getData() != ""> 238 <dt><span class="icon-pdf"></span></dt> 239 <dd><strong>${languageUtil.get(locale, "statistics")}</strong><br/><a href="${htmlUtil.escape(statisticsUrl.getData())}" target="_blank">${languageUtil.get(locale, "view-data")}</a></dd> 240 </#if> 241 242 <#if photosPlansUrl.getData() != ""> 243 <dt><span class="icon-pdf"></span></dt> 244 <dd><strong>${languageUtil.get(locale, "bibliobus.librarydetail.floorplans.label")}</strong><br/><a href="${htmlUtil.escape(photosPlansUrl.getData())}" target="_blank">${languageUtil.get(locale, "view-data")}</a></dd> 245 </#if> 246 </dl> 247 </div> 248 </div> 249 250 251 <div class="row-fluid panels"> 252 <#if obs.getData()!=""> 253 <#assign thereAreObs=true> 254 </#if> 255 256 257 <#if thereAreObs> 258 259 <#-- MIGRATION FIX BS5: .panel .panel-default -> .card; .panel-heading -> .card-header; 260 .panel-body -> .card-body; .panel-collapse eliminat. --> 261 <div class="card" id="library-obs"> 262 <div class="card-header"> 263 <h3 class="panel-title"> 264 <a href="javascript:void(0);" onclick="return false;" data-bs-toggle="collapse" data-bs-target="#library-obsbodyContent"> 265 266 <span class="desplegable fa-solid fa-chevron-up"></span> ${languageUtil.get(locale, "bibliobus.librarydetail.obs.label")}:<span class="custom-icon"></span> 267 </a> 268 </h3> 269 </div> 270 <div id="library-obsbodyContent" class="collapse show"> 271 <div class="card-body"> 272 ${obs.getData()} 273 </div> 274 </div> 275 </div> 276 </#if> 277 278 <div id="route"> 279 <h3>${languageUtil.get(locale, "bibliobus.bibliobusdetail.route.label")}:</h3> 280 <#assign nBusStops = 0> 281 <#list stop.getSiblings() as busStop> 282 283 <#if busStop.getData() != ""> 284 285 <#assign nBusStops++> 286 <#assign nBusStopsBodyContent = nBusStops + "bodyContent"> 287 <div class="card" id="parada${nBusStops}"> 288 <div class="card-header"> 289 <h4 class="panel-title"> 290 <a href="javascript:void(0);" onclick="return false;" data-bs-toggle="collapse" data-bs-target="#parada${nBusStopsBodyContent}" class="collapsed"> 291 <span class="desplegable fa-solid fa-chevron-down"></span> ${busStop.getData()}: <span class="custom-icon"></span> 292 </a> 293 </h4> 294 </div> 295 <div id="parada${nBusStopsBodyContent}" class="collapse"> 296 <div class="card-body"> 297 <ul> 298 <#if busStop.shortDescription.getData() != "" > 299 <div>${busStop.shortDescription.getData()}</div> 300 <#if busStop.longDescription.getData() != ""> 301 <div style="font-style: italic;"> ${busStop.longDescription.getData()}</div> 302 </#if> 303 </#if> 304 305 306 <#list busStop.month.getSiblings() as busMonth> 307 <li> 308 309 <#if busMonth.monthCode.getData()!=""> 310 <#assign dataMes=busMonth.monthCode.getData()?string+"/01/2000"> 311 <#assign dataMes=dataMes?date("MM/dd/yyyy")> 312 ${dataMes?string("MMMM")?capitalize}: 313 </#if> 314 315 <#assign thereAreValidDays = false> 316 <#if busMonth.day.getSiblings()?has_content> 317 <#list busMonth.day.getSiblings() as day> 318 <#if day.getData() != ""> 319 <#assign thereAreValidDays = true> 320 <#break> 321 </#if> 322 </#list> 323 </#if> 324 325 <#if thereAreValidDays> 326 327 <ul> 328 329 <#list busMonth.day.getSiblings() as day> 330 <#if day.getData() != ""> 331 332 <li class="tres">${day.getData()}: ${day.hour.getData()}</li> 333 334 </#if> 335 </#list> 336 337 </ul> 338 339 </#if> 340 341 </li> 342 343 </#list> 344 345 346 </ul> 347 348 <#if busStop.timeDescription.getData() != ""> 349 <p class="obs"><span class="label">${languageUtil.get(locale, "bibliobus.bibliobusdetail.warning.label")}:</span><span class="value">${busStop.timeDescription.getData()}</span></p> 350 </#if> 351 </div> 352 </div> 353 </div> 354 355 </#if> 356 </#list> 357 </div> 358 </div> 359 360 361 </div> 362 363 </div> 364 <script> 365 /* MIGRATION FIX: jQuery -> JS natiu; només alterna la icòna (el desplegable el gestiona Bootstrap via data-bs-toggle) */ 366 /* SPA FIX: DOMContentLoaded no dispara al navegar per Senna; usar readyState + Liferay.on('endNavigate') + guard per no duplicar handlers */ 367 (function () { 368 function bindDesplegableToggle() { 369 document.querySelectorAll('h4 a, h3 a').forEach(function (link) { 370 if (link.dataset.desplegableBound === '1') return; 371 link.dataset.desplegableBound = '1'; 372 link.addEventListener('click', function () { 373 var icon = this.querySelector('span.desplegable'); 374 if (icon) { 375 icon.classList.toggle('fa-chevron-up'); 376 icon.classList.toggle('fa-chevron-down'); 377 } 378 }); 379 }); 380 } 381 if (document.readyState === 'loading') { 382 document.addEventListener('DOMContentLoaded', bindDesplegableToggle); 383 } else { 384 bindDesplegableToggle(); 385 } 386 if (window.Liferay && typeof Liferay.on === 'function') { 387 Liferay.on('endNavigate', bindDesplegableToggle); 388 } 389 })(); 390 </script> 391<#else> 392<!--##GENIUS--> 393 394 <div class="genius library-general-info"> 395 396 <div class="library-contact-data"> 397 398 <#if busImage.getData() != ""> 399 <#assign thereIsImage=true> 400 </#if> 401 <#if referenceLibrary.getData() != ""> 402 <#assign thereIsReferenceLibrary=true> 403 </#if> 404 405 <div class="detail"> 406 <#if thereIsImage || thereIsReferenceLibrary> 407 <div class="imagen" style="float:left; max-width:330px;"> 408 409 <#if thereIsImage> 410 <img src="${htmlUtil.escape(busImage.getData())}" alt="${name.getData()}" /> 411 </#if> 412 413 <#if thereIsReferenceLibrary> 414 <div> 415 <span class="referenceLibrary">${languageUtil.get(locale, "bibliobus.bibliobusdetail.supporterlibrary.label")}:<span>${referenceLibrary.getData()}</span></span> 416 </div> 417 </#if> 418 419 <#if statisticsUrl.getData() != ""> 420 <div> 421 <br/>${languageUtil.get(locale, "statistics")}: <a href="${htmlUtil.escape(statisticsUrl.getData())}" target="_blank"><img src="/image/image_gallery?img_id=5416321&t=1353937771460" /> ${languageUtil.get(locale, "view-data")}</a> 422 </div> 423 </#if> 424 425 <#if photosPlansUrl.getData() != ""> 426 <br/>${languageUtil.get(locale, "bibliobus.librarydetail.floorplans.label")}: <a href="${htmlUtil.escape(photosPlansUrl.getData())}" target="_blank"><img src="/image/image_gallery?img_id=5416321&t=1353937771460" /> ${languageUtil.get(locale, "view-data")}</a> 427 </#if> 428 429 </div> 430 </#if> 431 432 <dl> 433 434 <#if address.getData() != ""> 435 <dt class="m1">${languageUtil.get(locale, "bibliobus.bibliobusdetail.address.label")}:</dt><dd class="m1">${address.getData()}</dd> 436 </#if> 437 438 <#if phone.getData() != ""> 439 <dt>${languageUtil.get(locale, "bibliobus.bibliobusdetail.phone.label")}:</dt><dd><span><a href="tel:${phone.getData()}">${phone.getData()}</a></span></dd> 440 </#if> 441 442 <#if email.getData() != ""> 443 <dt class="m1">${languageUtil.get(locale, "bibliobus.bibliobusdetail.email.label")}:</dt><dd><a href="mailto:${email.getData()}">${email.getData()}</a></dd> 444 </#if> 445 446 <!--## Oculto por si se vuelve a utilizar en un futuro 447 ## #if( $webUrl && ($webUrl.getData() != "") ) 448 ## <dt>Web</dt><dd>$webUrl.getData()</dd> 449 ## #end--> 450 451 <#if managerName.getData() != ""> 452 <dt>${languageUtil.get(locale, "bibliobus.bibliobusdetail.manager.label")}:</dt><dd>${managerName.getData()}</dd> 453 </#if> 454 455 <!--##Horarios y botón formulario--> 456 <#if horariosUrl.getData() != ""> 457 <dd><a href="${htmlUtil.escape(horariosUrl.getData())}" target="_blank">${languageUtil.get(locale, "bibliobus.librarydetail.horarios.label")}</a></dd> 458 </#if> 459 460 <dt></dt> 461 <dd> 462 <div class="btnbibliobus"> 463 <#assign formPage=""> 464 <#if locale == "ca_ES"> 465 <#assign formPage="biblioteques/connecta-amb-bibliobus"> 466 <#elseif locale == "es_ES"> 467 <#assign formPage="biblioteques/conecta-con-bibliobus"> 468 <#elseif locale == "en_US"> 469 <#assign formPage="biblioteques/connect-with-the-bookmobile"> 470 </#if> 471 <a href="http://formularis.diba.cat/diba/${formPage}">${languageUtil.get(locale, "bibliobus.librarydetail.formulario.label")}</a> 472 </div> 473 </dd> 474 475 476 <!--## Redes sociales--> 477 478 <#if socialNetwork.getData()!=""> 479 480 <#assign thereAreValidNetworks = false> 481 482 <#list socialNetwork.getSiblings() as network> 483 484 <#if network.getData() != "" && network.socialNetworkUrl.getData() != ""> 485 <#assign thereAreValidNetworks = true> 486 <#break> 487 </#if> 488 489 </#list> 490 491 <#if thereAreValidNetworks> 492 493 <dt> 494 495 <dt>${languageUtil.get(locale, "bibliobus.bibliobusdetail.socialnetworks.label")}:</dt> 496 497 <dd> 498 <ul class="value"> 499 500 <#list socialNetwork.getSiblings() as network> 501 502 <#if network.getData() != "" && network.socialNetworkUrl.getData() != ""> 503 504 <li><a href="${htmlUtil.escape(network.socialNetworkUrl.getData())}">${network.getData()}</a></li> 505 506 </#if> 507 508 </#list> 509 510 </ul> 511 </dd> 512 513 </dt> 514 515 </#if> 516 517 </#if><!-- ## de redes sociales--> 518 519 </dl> 520 </div> 521 522 523 524 <div class="mainDiv"> 525 526 <!--## Observaciones--> 527 <#if obs.getData()!=""> 528 <#assign thereAreObs=true> 529 </#if> 530 531 532 <#if thereAreObs> 533 <div id="library-obs" class="expandableCollapsibleDiv"> 534 <span id="icon-collapse" class="fa-solid fa-angle-up"></span> 535 <h4> ${languageUtil.get(locale, "bibliobus.librarydetail.obs.label")}:</h4> 536 <div id="library-obsbodyContent"> 537 ${obs.getData()} 538 </div> 539 </div> 540 </#if> 541 542 543 544 <!--## Itinerario--> 545 546 547 <div id="route"> 548 549 550 <h3>${languageUtil.get(locale, "bibliobus.bibliobusdetail.route.label")}:</h3> 551 <#assign nBusStops = 0> 552 553 <#list stop.getSiblings() as busStop> 554 555 <#if busStop.getData() != ""> 556 557 <#assign nBusStops++> 558 <#assign nBusStopsBodyContent = nBusStops + "bodyContent"> 559 <div id="parada${nBusStops}" class="expandableCollapsibleDiv"> 560 <span id="icon-collapse" class="fa-solid fa-angle-down"></span> 561 <h4> ${busStop.getData()}: </h4> 562 <div id="parada${nBusStopsBodyContent}" style="display: none;"> 563 <ul> 564 565 <#if busStop.shortDescription.getData() != ""> 566 <div>${busStop.shortDescription.getData()}</div> 567 <#if busStop.longDescription.getData() != ""> 568 <div style="font-style: italic;"> ${busStop.longDescription.getData()} </div> 569 </#if> 570 </#if> 571 572 <#list busStop.month.getSiblings() as busMonth> 573 574 <li> 575 576 <#if busMonth.monthCode.getData()!=""> 577 <#assign dataMes=busMonth.monthCode.getData()?string+"/01/2000"> 578 <#assign dataMes=dataMes?date("MM/dd/yyyy")> 579 ${dataMes?string("MMMM")?capitalize}: 580 </#if> 581 582 <#assign thereAreValidDays = false> 583 <#list busMonth.day.getSiblings() as day> 584 <#if (day.getData() != "" )> 585 <#assign thereAreValidDays = true> 586 <#break> 587 </#if> 588 </#list> 589 590 <#if (thereAreValidDays )> 591 592 <ul> 593 594 <#list busMonth.day.getSiblings() as day> 595 <#if (day.getData() != "" )> 596 597 <li class="tres">${day.getData()}: ${day.hour.getData()}</li> 598 599 </#if> 600 </#list> 601 602 </ul> 603 604 </#if> 605 606 </li> 607 608 </#list> 609 610 </ul> 611 612 <#if busStop.timeDescription.getData() != ""> 613 <p class="obs"><span class="label">${languageUtil.get(locale, "bibliobus.bibliobusdetail.warning.label")}:</span><span class="value">${busStop.timeDescription.getData()}</span></p> 614 </#if> 615 616 </div> <!-- ## stop$nBusStopsbodyContent--> 617 </div> 618 </#if> 619 620 </#list> 621 622 </div> 623 624 </div> <!--## .library-contact-data --> 625 626 </div> <!--## .library-general-info --> 627 628 629 <script type="text/javascript"> 630 /* MIGRATION FIX: jQuery (.show/.hide/:visible) -> JS natiu */ 631 document.addEventListener('DOMContentLoaded', function () { 632 var spans = document.querySelectorAll('.expandableCollapsibleDiv > span'); 633 spans.forEach(function (span) { 634 span.addEventListener('click', function () { 635 var container = this.closest('.expandableCollapsibleDiv'); 636 if (!container) { return; } 637 var content = container.querySelector('div'); 638 if (!content) { return; } 639 var hidden = window.getComputedStyle(content).display === 'none'; 640 if (hidden) { 641 content.style.display = 'block'; 642 this.className = 'fa-solid fa-angle-up'; 643 } else { 644 content.style.display = 'none'; 645 this.className = 'fa-solid fa-angle-down'; 646 } 647 }); 648 }); 649 }); 650 </script> 651<style> 652.genius .icon-collapse-top:before { 653 content: "\f151"; 654} 655.genius .icon-collapse:before { 656 content: "\f150";} 657.genius [class^=icon-]:before, [class*=" icon-"]:before { 658 text-decoration: inherit; 659 display: inline-block; 660 speak: none; 661} 662</style> 663 664</#if> Events
There are no results for this search
Highlights
No results found
Special collections
No results found
Reader's guides
No results found
Services
- Induction loop
- Audiobook
- Reception of immigrants
- Children's and family activities
- Newsletters
- Reading clubs
- Database consultation
- Local information
- Internet i +
- Hearing Impaired Services
- Loans
- Digital Loan Service
- Interlibrary loans
- Suggest a purchase
- Renewing documents
- Reserving computers
- Reserving documents
- School services
- News subscription
- Wi-Fi
- Activities
- Information
- Learning
- Borrowing


