Cuenca
Las estaciones son algo más que un lugar desde el que subir a un tren o desembarcar del mismo. Además de prestar sus servicios a los viajeros y usuarios, muchas de ellas constituyen una referencia en las localidades donde su ubican.
Aquí se pueden conocer los horarios de llegadas y salidas de la estación, así como los servicios que se ofrecen en su recinto e instalaciones. Para ello acceda a dicha información a través del selector que ponemos a su disposición.
Informacion de la estación
-
Dirección
C/ Mariano Catalina, 10 --- 16004 Cuenca --- CUENCA
-
Horario
Diario: 09:00 a 19:30
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> servicios.id [in template "20101#20128#ADIF-SERVICIOS-ESTACION-TEMPLATE" at line 35, column 21]
----
Tip: It's the step after the last dot 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: #if servicios?? && servicios.id.getSi... [in template "20101#20128#ADIF-SERVICIOS-ESTACION-TEMPLATE" at line 35, column 1]
----
1<script type="text/javascript">
2
3
4function cierraDetalles(){
5 var detalles = $("div[id^='detalleServicio']");
6 var iconos = $("[id^='button-detalleServicio']");
7 for (let detalle of detalles) {
8 detalle.style.display = 'none'
9 }
10 for (let icono of iconos) {
11 icono.setAttribute('aria-expanded', 'false');
12 }
13}
14
15 function toggle(id, id2) {
16
17
18 var n = document.getElementById(id);
19if (n.style.display != 'none')
20 {
21 n.style.display = 'none';
22 document.getElementById(id2).setAttribute('aria-expanded', 'false');
23 }
24 else
25 {
26 cierraDetalles();
27 n.style.display = '';
28 document.getElementById(id2).setAttribute('aria-expanded', 'true');
29 }
30 }
31
32
33 </script>
34
35<#if servicios?? && servicios.id.getSiblings()?has_content>
36 <div class="title-servicios">
37 <h3><@liferay.language key="es.adif.estacion.servicios"/></h3>
38 </div>
39 <@listPaint servicios.id.getSiblings() ""/>
40</#if>
41
42<#if serviciosAdaptados?? && serviciosAdaptados.idAdaptados.getSiblings()?has_content>
43 <div class="title-servicios">
44 <h3><@liferay.language key="es.adif.estacion.servicios-adaptados"/></h3>
45 </div>
46 <@listPaint serviciosAdaptados.idAdaptados.getSiblings() "Adaptados"/>
47</#if>
48
49<#macro listPaint lista texto>
50
51 <@orderServicesList lista texto/>
52
53 <#list listaOrdenada as cur_id>
54
55 <#if cur_id?index %3 == 0>
56 <#assign
57 hay1 = listaOrdenada[cur_id?index+1]??
58 hay2 = listaOrdenada[cur_id?index+2]??
59 />
60 <div class="servicios-estacion" id="servicios-estacion">
61 <@boxPaint cur_id cur_id?index texto/>
62 <#if hay1>
63 <@boxPaint listaOrdenada[cur_id?index+1] cur_id?index+1 texto/>
64 <#if hay2>
65 <@boxPaint listaOrdenada[cur_id?index+2] cur_id?index+2 texto/>
66 </#if>
67 </#if>
68 </div>
69 <@detailPaint cur_id cur_id?index texto/>
70 <#if hay1>
71 <@detailPaint listaOrdenada[cur_id?index+1] cur_id?index+1 texto/>
72 <#if hay2>
73 <@detailPaint listaOrdenada[cur_id?index+2] cur_id?index+2 texto/>
74 </#if>
75 </#if>
76 </#if>
77
78 </#list>
79
80</#macro>
81
82<#macro boxPaint elem index texto>
83 <#if texto!="Adaptados">
84 <#if elem.popServicios.getData() ?? && elem.popServicios.getData() != "">
85 <button class="linkServiciosDesp" id="button-detalleServicio${texto}-${index}" aria-expanded="false" aria-controls="detalleServicio${texto}-${index}" onclick="toggle('detalleServicio${texto}-${index}', 'button-detalleServicio${texto}-${index}')">
86 </#if>
87 <div class="servicio-estacion" id="iconoServicio${texto}-${index}">
88 <div class="servicio-estacion-icono" style="background-image:url('${elem.icono.getData()}')"></div><!-- /.servicio-estacion-icono -->
89 <div class="servicio-estacion-datos">
90 <h4>${elem.titulo.getData()}</h4>
91 <p class="descripcion-servicios">${elem.descripcionServicios.getData()}</p>
92 <#if elem.popServicios.getData() ?? && elem.popServicios.getData() != "">
93 <p class="detalle-mas-informacion">
94 <span class="texto_servicios_responsive" data-desktoptext="Más información" data-phonetext="+"></span>
95 </p>
96 </#if>
97 </div>
98 </div>
99 <#if elem.popServicios.getData() ?? && elem.popServicios.getData() != "">
100 </button>
101 </#if>
102 <#else>
103 <#if elem.popAdaptados.getData() ?? && elem.popAdaptados.getData() != "">
104 <button class="linkServiciosDesp" id="button-detalleServicio${texto}-${index}" aria-expanded="false" aria-controls="detalleServicio${texto}-${index}" onclick="toggle('detalleServicio${texto}-${index}', 'button-detalleServicio${texto}-${index}')">
105 </#if>
106 <div class="servicio-estacion" id="iconoServicio${texto}-${index}">
107 <div class="servicio-estacion-icono" style="background-image:url('${elem.iconoAdaptados.getData()}'"></div><!-- /.servicio-estacion-icono -->
108 <div class="servicio-estacion-datos">
109 <h4>${elem.tituloAdaptados.getData()}</h4>
110 <p class="descripcion-servicios">${elem.descripcionAdaptados.getData()}</p>
111 <#if elem.popAdaptados.getData() ?? && elem.popAdaptados.getData() != "">
112 <p class="detalle-mas-informacion">
113 <span class="texto_servicios_responsive" data-desktoptext="Más información" data-phonetext="+"></span>
114 </p>
115 </#if>
116 </div>
117 </div>
118 <#if elem.popAdaptados.getData() ?? && elem.popAdaptados.getData() != "">
119 </button>
120 </#if>
121 </#if>
122</#macro>
123
124<#macro detailPaint elem index texto>
125<#if texto!="Adaptados">
126 <div role="region" aria-labelledby="button-detalleServicio${texto}-${index}" class="servicios-estacion" id="detalleServicio${texto}-${index}" style="display:none">
127 <div class="servicio-estacion servicio-estacion-detalle servicio-estacion-detalle-${index%3} ">
128 <div class="servicio-estacion-icono" style="background-image:url('${elem.icono.getData()}')"></div><!-- /.servicio-estacion-icono -->
129 <div class="servicio-estacion-datos">
130 <h4>${elem.titulo.getData()}</h4>
131 ${elem.popServicios.getData()}
132 <p>
133 <button aria-label="<@liferay.language key="navigation.cerrar" /> ${elem.titulo.getData()}" class="btn-close-adif" type="button" onclick="toggle('detalleServicio${texto}-${index}', 'button-detalleServicio${texto}-${index}')">×</button>
134
135 </p>
136 </div>
137 </div>
138 </div>
139<#else>
140 <div role="region" aria-labelledby="button-detalleServicio${texto}-${index}" class="servicios-estacion" id="detalleServicio${texto}-${index}" style="display:none">
141 <div class="servicio-estacion servicio-estacion-detalle servicio-estacion-detalle-${index%3}">
142 <div class="servicio-estacion-icono" style="background-image:url('${elem.iconoAdaptados.getData()}'"></div><!-- /.servicio-estacion-icono -->
143 <div class="servicio-estacion-datos">
144 <h4>${elem.tituloAdaptados.getData()}</h4>
145 ${elem.popAdaptados.getData()}
146 <p>
147 <button class="btn-close-adif" aria-label="<@liferay.language key="navigation.cerrar" /> ${elem.tituloAdaptados.getData()}" type="button" onclick="toggle('detalleServicio${texto}-${index}', 'button-detalleServicio${texto}-${index}')">×</button>
148 </p>
149 </div>
150 </div>
151 </div>
152</#if>
153
154</#macro>
155
156<#macro orderServicesList lista texto>
157 <#assign lista2 = []>
158 <#assign lista3 = lista>
159 <#assign stop = true>
160 <#assign run = true>
161 <#assign iteraciones = lista3?size*lista3?size>
162 <#list 0..iteraciones as i>
163 <#assign run = false>
164 <#assign saltarSiguiente = false>
165 <#list lista3 as cur_elem>
166 <#if !saltarSiguiente>
167 <#if !cur_elem?is_last >
168 <#if (texto=="Adaptados" && esMayor(cur_elem.tituloAdaptados.getData(),lista3[cur_elem?index+1].tituloAdaptados.getData()))
169 || (texto!="Adaptados" && esMayor(cur_elem.titulo.getData(),lista3[cur_elem?index+1].titulo.getData()))>
170 <#assign run = true>
171 <#assign lista2 = lista2 + [lista3[cur_elem?index+1], cur_elem]>
172 <#assign saltarSiguiente = true>
173 <#else>
174 <#assign lista2 = lista2 + [cur_elem]/>
175 </#if>
176 <#else>
177 <#assign lista2 = lista2 + [cur_elem]>
178 </#if>
179 <#else>
180 <#assign saltarSiguiente = false/>
181 </#if>
182 </#list>
183 <#if !run>
184 <#break>
185 </#if>
186 <#assign lista3 = lista2>
187 <#assign lista2 = []>
188 </#list>
189
190 <#assign listaOrdenada = lista3>
191</#macro>
192
193<#function esMayor string1 string2>
194 <#assign strings = [string1,string2]?sort>
195 <#return strings[0]==string2>
196</#function>
Boulevar
Número de local: Vestíbulo
Boulevar
Número de local: Vestíbulo

