Во время обработки запрошенного шаблона произошла ошибка...
Range start index 0 is out of bounds, because the sliced string has only 0 character(s). (Note that indices are 0-based).
The blamed expression:
==> 0..underline [in template "18771710#18771743#347743556" at line 44, column 77]
----
FTL stack trace ("~" means nesting-related):
- Failed at: ${.vars["reserved-article-title"].dat... [in template "18771710#18771743#347743556" at line 44, column 38]
---- 1<link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" 2 integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A==" 3 crossorigin=""/> 4<script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js" 5 integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA==" 6 crossorigin=""></script> 7<#assign dataInicial_Data = getterUtil.getString(dataInicial.getData())> 8<#if validator.isNotNull(dataInicial_Data)> 9 <#assign dataInicial_DateObj = dateUtil.parseDate("yyyy-MM-dd", dataInicial_Data, locale)> 10 <#assign dataInicial = dateUtil.getDate(dataInicial_DateObj, "dd/MM/yyyy", locale)> 11</#if> 12 13<#assign dataFinal_Data = getterUtil.getString(dataFinal.getData())> 14<#if validator.isNotNull(dataFinal_Data)> 15 <#assign dataFinal_DateObj = dateUtil.parseDate("yyyy-MM-dd", dataFinal_Data, locale)> 16 <#assign dataFinal = dateUtil.getDate(dataFinal_DateObj, "dd/MM/yyyy", locale)> 17</#if> 18 19<#if dataInicial == dataFinal > 20 <#assign sData = dataInicial> 21<#else> 22 <#assign sData = dataInicial + " - " + dataFinal> 23</#if> 24 25<#assign urlImatge = ""> 26<#assign descImatge = ""> 27<#assign entryIdImatge = ""> 28<#if imatge.getData()?? && imatge.getData() != ""> 29 <#assign urlImatge = imatge.getData()> 30 <#assign descImatge = imatge.getAttribute("alt")> 31 <#assign entryIdImatge = "data-fileentryid='" + imatge.getAttribute("fileEntryId") + "'"> 32<#else> 33 <#if imatge.urlExterna?? && imatge.urlExterna.getData() != ""> 34 <#assign urlImatge = imatge.urlExterna.getData()> 35 </#if> 36 <#if imatge.descImatgeExterna?? && imatge.descImatgeExterna.getData() != ""> 37 <#assign descImatge = imatge.descImatgeExterna.getData()> 38 </#if> 39</#if> 40 41 42<h2 class="title my-4 text-left"> 43 <#assign underline = (.vars['reserved-article-title'].data?length/3)?int> 44 <span class="text-big-underline">${.vars['reserved-article-title'].data[0..underline]}</span>${.vars['reserved-article-title'].data[underline+1..]} 45</h2> 46 47<div class="row"> 48 <#if urlImatge != ""> 49 <div class="col-lg-5 col-12"> 50 <img src="${urlImatge}" alt="${descImatge}" ${entryIdImatge} class="img-fluid" /> 51 </div> 52 <div class="col-lg-7 col-12"> 53 <#else> 54 <div class="col-12"> 55 </#if> 56 <div class="shadow border p-3 mb-4 text-left"> 57 ${descripcio.getData()} 58 </div> 59 </div> 60</div> 61 62<div class="row"> 63 <div class="col text-left"> 64 <p class="mb-1 mt-3">${mesInfo.getData()} </p> 65 66 <h4 class="mt-4">${languageUtil.get(locale, "turisme.agenda.quan")}</h4> 67 <p class="mb-1"><b>${sData}</b></p> 68 <#if horari?? && horari.getData()?has_content> 69 <p class="mb-1">${horari.getData()}</p> 70 </#if> 71 72 <h4 class="mt-4">${languageUtil.get(locale, "turisme.agenda.on")}</h4> 73 <#if nomLloc.getData()?has_content > 74 <p class="mb-1">${nomLloc.getData()}</p> 75 </#if> 76 <#if carrer.getData()?has_content > 77 <p class="mb-1"> ${carrer.getData()} </p> 78 </#if> 79 <p class="mb-1"><b>${municipi.getData()}</b></p> 80 81 82 <h4 class="mt-4">${languageUtil.get(locale, "turisme.agenda.mesInfo")}</h4> 83 <#if organitzador.getData()?has_content > 84 <p class="mb-1">${organitzador.getData()}</p> 85 </#if> 86 <#if telefon.getData()?has_content > 87 <p class="mb-1">Tel. ${telefon.getData() }</p> 88 </#if> 89 <#if entrada.getData()?has_content > 90 <p class="mb-1">${entrada.getData() }</p> 91 </#if> 92 <#if web.getData()?has_content > 93 <p class="mb-1"><a href="${web.getData()}" target="_blank">Web</a></p> 94 </#if> 95 <#list recursos.arxiu.getSiblings() as cur_arxiu> 96 <#assign urlDoc = ""> 97 <#if cur_arxiu.getData()?? && cur_arxiu.getData() != ""> 98 <#assign urlDoc = cur_arxiu.getData()> 99 <#else> 100 <#if cur_arxiu.urlExterna2?? && cur_arxiu.urlExterna2.getData() != ""> 101 <#assign urlDoc = cur_arxiu.urlExterna2.getData()> 102 </#if> 103 </#if> 104 <#if urlDoc != ""> 105 <p class="mb-1"><a href="${urlDoc}" target="_blank"> 106 <#if cur_arxiu.titolAdjunt?? && cur_arxiu.titolAdjunt.getData()?has_content> 107 ${cur_arxiu.titolAdjunt.getData()} 108 <#else> 109 ${languageUtil.format(locale, "download-x", "Arxiu adjunt", false)} 110 </#if> 111 </a></p> 112 </#if> 113 </#list> 114 </div> 115</div> 116 117<#assign adjunts = false> 118<#if recursos.arxiu?? && recursos.arxiu.getSiblings()?has_content > 119 <#list recursos.arxiu.getSiblings() as cur_arxiu> 120 <#if cur_arxiu.getData()?has_content > 121 <#assign adjunts = true> 122 <#break> 123 </#if> 124 </#list> 125</#if> 126 127<#if adjunts > 128<div class="row"> 129 <div class="col"> 130 </div> 131</div> 132</#if> 133 134<div class="row"> 135 <h4 class="col mt-4 text-left">${languageUtil.get(locale, "detail.mapa")}</h4> 136</div> 137<div class="row"> 138 <div class="col-12"> 139 <#assign journalArticleId = .vars["reserved-article-id"].data> 140 <div id="mapa_${journalArticleId}" class="embed-responsive embed-responsive-16by9"></div> 141 <#assign indicacions= languageUtil.get(locale,"agenda.indicacions") > 142 <script> 143 jQuery(document).ready(function() { 144 // Llista de cartografies. 145 var tiles = L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", { 146 maxZoom: 18, 147 attribution: "© Diputació de Barcelona" 148 }), 149 googleStreets = L.tileLayer("https://{s}.google.com/vt/lyrs=m&x={x}&y={y}&z={z}&hl=ca", { 150 maxZoom: 20, 151 subdomains: ["mt0", "mt1", "mt2", "mt3"], 152 attribution: "© Diputació de Barcelona" 153 }); 154 // Punt central del mapa. 155 var latlng = L.latLng(${latitud.getData()},${longitud.getData()}); 156 157 var map_google = L.map("mapa_${journalArticleId}", {center: latlng, zoom: 15, layers: [googleStreets]}); 158 <#assign marcador="<a href='${web.getData()}' target='_blank'>${.vars['reserved-article-title'].data}</a><br/>${nomLloc.getData()}<br/><a href='https://www.google.es/maps/place/${latitud.getData()},${longitud.getData()}' target='_blank'>${indicacions}</a> " > 159 L.marker([${latitud.getData()},${longitud.getData()}]).addTo(map_google).bindPopup("${marcador}"); 160 }); 161 </script> 162 </div> 163</div> 
