-
Construcción
> Sustainability
> Green transition drivers
>
Good practices
An error occurred while processing the template.
?substring(...) argument #2 had invalid value: The index must be at least 0, but was -1.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign fileTitle = fileTitle?substri... [in template "12187455#12187494#1693527" at line 71, column 33]
----
1<div class="caso-practico">
2
3 <#if texto.getData()?has_content && descripcionFieldSet.descripcionFieldSetFieldSet.titulo.getData()?has_content>
4 <div class="filaCasoPractico casoTitulo textCenter bgNewBlue">
5 <#if texto.getData()?has_content>
6 <h2>${texto.getData()}</h2>
7 </#if>
8
9 <#if descripcionFieldSet.descripcionFieldSetFieldSet.titulo.getData()?has_content>
10 <h4>${descripcionFieldSet.descripcionFieldSetFieldSet.titulo.getData()}</h4>
11 </#if>
12 </div>
13 </#if>
14
15
16 <#if descripcionFieldSet.descripcionFieldSetFieldSet.necesidades.getData()?has_content>
17 <div class="filaCasoPractico">
18 <div class="filaCasoPracticoCol1 bgNewBlue"> <p><strong>${descripcionFieldSet.descripcionFieldSetFieldSet.necesidadesTitulo.getData()}:</strong></p> </div>
19 <div class="filaCasoPracticoCol2"> ${descripcionFieldSet.descripcionFieldSetFieldSet.necesidades.getData()} </div>
20 </div>
21 </#if>
22
23
24 <#if descripcionFieldSet.descripcionFieldSetFieldSet.soluciones.getData()?has_content>
25 <div class="filaCasoPractico">
26 <div class="filaCasoPracticoCol1 bgNewBlue"> <p><strong>${descripcionFieldSet.descripcionFieldSetFieldSet.solucionesTitulo.getData()}:</strong></p> </div>
27 <div class="filaCasoPracticoCol2"> ${descripcionFieldSet.descripcionFieldSetFieldSet.soluciones.getData()} </div>
28 </div>
29 </#if>
30
31 <#if descripcionFieldSet.descripcionFieldSetFieldSet.resultados.getData()?has_content>
32 <div class="filaCasoPractico">
33 <div class="filaCasoPracticoCol1 bgNewBlue"> <p><strong>${descripcionFieldSet.descripcionFieldSetFieldSet.resultadosTitulo.getData()}:</strong></p> </div>
34 <div class="filaCasoPracticoCol2"> ${descripcionFieldSet.descripcionFieldSetFieldSet.resultados.getData()} </div>
35 </div>
36 </#if>
37
38
39
40
41 <#if (locale == "en_US") >
42 <#assign strdownload = "Download" />
43 <#assign strprevious = "Previous" />
44 <#assign strnext = "Next" />
45 <#else>
46 <#assign strdownload = "Descargar" />
47 <#assign strprevious = "Anterior" />
48 <#assign strnext = "Siguiente" />
49 </#if>
50
51 <#-- ## Galeria de imagenes ## -->
52 <#if galeriaImagenesFieldSet.imagenFieldSet.getSiblings()?has_content>
53 <div class="filaCasoPractico casoGaleria bgNewBlue">
54 <div id="myCarousel" class="carousel slide" data-ride="carousel">
55 <!-- Indicators -->
56
57 <ol class="carousel-indicators middle">
58 <#assign velocityCount = 1 />
59 <#list galeriaImagenesFieldSet.imagenFieldSet.getSiblings() as img>
60
61
62 <#assign titAcc=img.imagenFieldSetFieldSet.tituloAcc.getData() />
63 <#assign titImagen=img.imagenFieldSetFieldSet.tituloImagen.getData() />
64 <#if titAcc?has_content>
65 <#if tituloImagen?has_content>
66 <#assign titAcc=img.imagenFieldSetFieldSet.tituloImagen.getData() />
67 <#else>
68
69 <#assign fileTitle = img.imagen.getData()?split("/")[4]!""/>
70 <#assign lastIndex = fileTitle?last_index_of(".") />
71 <#assign fileTitle = fileTitle?substring(0, lastIndex) />
72
73
74 <#assign tmp = {} />
75 <#assign URLDecoder = staticUtil["java.net.URLDecoder"] />
76<#assign fileTitle = URLDecoder.decode(fileTitle, "UTF-8") />
77 <#assign titAcc = fileTitle />
78 </#if>
79 </#if>
80
81 <#if velocityCount == 1>
82 <li data-target="#myCarousel" data-slide-to="0" title="${titAcc}" class="active"></li>
83 <#else>
84 <li data-target="#myCarousel" data-slide-to="${velocityCount + 1}" title="${titAcc}"></li>
85 </#if>
86
87 <#assign velocityCount = velocityCount + 1 />
88
89 </#list>
90 </ol>
91
92
93 <!-- Wrapper for slides -->
94 <div class="carousel-inner" role="listbox">
95 <#assign velocityCount = 1 />
96 <#list galeriaImagenesFieldSet.imagenFieldSet.getSiblings() as img>
97 <#if velocityCount == 1 >
98 <#assign itemactive="active" />
99 <#else>
100 <#assign itemactive="" />
101 </#if>
102
103 <#if img.imagen.getData()?has_content>
104 <#-- ## Mostramos el titulo de accesibilidad en cada imagen,
105 ## si no lo tiene mostramos el titulo de la imagen sin extension -->
106 <#assign titAcc=img.imagenFieldSetFieldSet.tituloAcc.getData() />
107 <#assign titImagen=img.imagenFieldSetFieldSet.tituloImagen.getData() />
108
109 <#if titAcc?has_content>
110 <#if tituloImagen?has_content>
111 <#assign titAcc=img.imagenFieldSetFieldSet.tituloImagen />
112 <#else>
113
114 <#assign fileTitle = img.imagen.getData()?split("/")[4]!"" />
115 <#assign lastIndex = fileTitle?last_index_of(".") />
116 <#assign fileTitle = fileTitle?substring(0, lastIndex) />
117
118
119 <#assign tmp = {} />
120 <#assign URLDecoder = staticUtil["java.net.URLDecoder"] />
121<#assign fileTitle = URLDecoder.decode(fileTitle, "UTF-8") />
122 <#assign titAcc = fileTitle />
123 </#if>
124 </#if>
125
126 <li class="carousel-item item ${itemactive}">
127 <img alt="${titAcc}" title="${titAcc}" src="${img.imagen.getData()}"/>
128 <#if titImagen?has_content>
129 <p>${titImagen}</p>
130 </#if>
131 <#assign src = img.imagen.getData() />
132 <a class="fcc-download" title="${strdownload}" href="${src}&download=true" target="_self"></a>
133 </li>
134 </#if>
135
136 <#assign velocityCount = velocityCount + 1 />
137
138 </#list>
139
140 </div>
141
142 <!-- Left and right controls -->
143 <a class="left carousel-control" href="#myCarousel" title="${strprevious}" role="button" data-slide="prev">
144 <span class="simleArrowL" aria-hidden="true"></span>
145 </a>
146 <a class="right carousel-control" href="#myCarousel" title="${strnext}" role="button" data-slide="next">
147 <span class="simleArrowR" aria-hidden="true"></span>
148 </a>
149 </div>
150 </div>
151 </#if>
152</div>