Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> TipoDeAlojamiento  [in template "203582#203610#224262" at line 31, column 6]

----
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 TipoDeAlojamiento.getData()?? && ...  [in template "203582#203610#224262" at line 31, column 1]
----
1<#assign langId = themeDisplay.getLanguageId() /> 
2 
3<#switch langId> 
4	<#case "es_ES"> 
5		<#assign tiempo = "El tiempo en "> 
6		<#assign donde = "¿Dónde está?"> 
7		<#assign informacion = "Información"> 
8        <#assign contacto = "Contacto y Dirección"> 
9		<#assign maps = "Ver en Google Maps"> 
10        <#break> 
11	<#case "en_US"> 
12		<#assign tiempo = "Weather in "> 
13		<#assign donde = "Where is it?"> 
14		<#assign informacion = "Information"> 
15        <#assign contacto = "Contact and Address"> 
16		<#assign maps = "View on Google Maps"> 
17        <#break> 
18	<#case "pt_BR"> 
19		<#assign tiempo = "O tempo em "> 
20		<#assign donde = "Como chegar lá"> 
21		<#assign informacion = "Informação"> 
22        <#assign contacto = "Contato e Endereço"> 
23		<#assign maps = "Ver no Google Maps"> 
24        <#break> 
25</#switch> 
26 
27<#if FotoPrincipal.getData()?? && FotoPrincipal.getData() != ""> 
28	<div class="cabeceraCastillo" style="background-image: url('${FotoPrincipal.getData()}');"> 
29</#if> 
30 
31<#if TipoDeAlojamiento.getData()?? && TipoDeAlojamiento.getData() = "Vivienda Turística"> 
32	<div class="cabeceraCastillo" style="background-image: url('/documents/203606/453113/13.VUT-EL+ARC%C3%93N-SIMANCAS.jpg/66cc9ba5-fca1-083f-35a9-c09a73546262?t=1693381506255');"> 
33</#if> 
34 
35<#if TipoDeAlojamiento.getData()?? && TipoDeAlojamiento.getData() = "Apartamento Turístico"> 
36	<div class="cabeceraCastillo" style="background-image: url('/documents/203606/453113/12-APTOS.TUR-BODEGAS+MARCOS-PE%C3%91AFIEL.jpg/d1f80fff-f1d9-4bb2-70cc-9d8b4a0c4f26?t=1693381506133');"> 
37</#if> 
38 
39    <#if Nombre.getData()?? && Nombre.getData() != ""> 
40		<h1>${Nombre.getData()}<#if Localidad.getData()?? && Localidad.getData() != ""><br>(${Localidad.getData()})</#if></h1> 
41	</#if> 
42	</div> 
43 
44<nav class="site-breadcrumbs" id="breadcrumbs"> 
45	<@liferay.breadcrumbs/> 
46</nav> 
47 
48<div class="container detalleCastillo"> 
49	<div class="row"> 
50		<div class="col-md-8"> 
51            <div class="titular"> 
52		        <h2 class="text-white card-title font-weight-bold">${informacion}</h2> 
53		    </div> 
54            <#if Tipo.getData()?? && Tipo.getData() != ""> 
55                <p>Tipo de Alojamiento: ${Tipo.getData()}</p> 
56			</#if> 
57            <#if NumeroDeCamas.getData()?? && NumeroDeCamas.getData() != ""> 
58                <p>Nº Camas: ${NumeroDeCamas.getData()}</p> 
59			</#if> 
60            <#if Zona.getData()?? && Zona.getData() != ""> 
61                <p>Zona turística: ${Zona.getData()}</p> 
62			</#if> 
63            <#if RutaDelVino.getData()?? && RutaDelVino.getData() != ""> 
64                <p>${RutaDelVino.getData()}</p> 
65			</#if> 
66            <div class="titular"> 
67		        <h2 class="text-white card-title font-weight-bold">${contacto}</h2> 
68		    </div> 
69			<#if Direccion.getData()?? && Direccion.getData() != ""> 
70				<i class="fa fa-map-marker iconos" style="float: left;margin-top: 4px">&nbsp;&nbsp;&nbsp;</i> 
71				<div>${Direccion.getData()}</div> 
72			</#if> 
73			<#if Telefonos.getData()?? && Telefonos.getData() != ""> 
74				<i class="fa fa-phone iconos" style="float: left;margin-top: 4px">&nbsp;&nbsp;&nbsp;</i> 
75                ${Telefonos.getData()} 
76			</#if> 
77			<#if Correo.getSiblings()?has_content> 
78                <#list Correo.getSiblings() as cur_Correo> 
79                    <#if cur_Correo.getData()?? && cur_Correo.getData() != ""> 
80                    <p><i class="fa fa-envelope iconos" style="float: left;margin-top: 4px">&nbsp;&nbsp;&nbsp;</i><a href='mailto:${cur_Correo.getData()}'>${cur_Correo.getData()}</a></p> 
81                    </#if> 
82                </#list> 
83            </#if> 
84			<#if Web.getData()?? && Web.getData() != ""> 
85				<p><i class="fa fa-globe iconos">&nbsp;&nbsp;&nbsp;</i><a href="http://${Web.getData()}" target="_blank">${Web.getData()}</a></p> 
86			</#if> 
87		</div> 
88		<div class="col-md-4"> 
89             
90            <div class="titular"> 
91		        <h2 class="text-white card-title font-weight-bold">${tiempo}<span id="localizacion"></span></h2> 
92            </div> 
93            <div class="weather"> 
94                <div class="descripcion"><p id="descripcion"></p></div> 
95                <div class="temperatura"><p id="temperatura"></p></div>                 
96            </div> 
97 
98            <#assign latitude = 0> 
99			<#assign longitude = 0> 
100 
101			<#if (Geolocalizacink8uu.getData() != "")> 
102				<div class="geo"> 
103					<#assign geolocationJSONObject = jsonFactoryUtil.createJSONObject(Geolocalizacink8uu.getData())> 
104					<#assign latitude = geolocationJSONObject.getDouble("latitude")> 
105					<#assign longitude = geolocationJSONObject.getDouble("longitude")>					 
106				</div> 
107			</#if>                         
108            <script> 
109                function getWeather(){ 
110                    let temperatura = document.getElementById("temperatura"); 
111                    let descripcion = document.getElementById("descripcion"); 
112                    let localizacion = document.getElementById("localizacion"); 
113                    let api = "https://api.openweathermap.org/data/2.5/weather"; 
114                    let apiKey = "dbb66dc03c378771a81a16f28252c5e5";                     
115                    let latitud = ${latitude}; 
116                    let longitud = ${longitude};                         
117                    let url = api + "?lat=" + latitud + "&lon=" + longitud + "&appid=" + apiKey + "&units=metric"; 
118                    fetch(url).then(response =>response.json()).then(data => {                             
119                        let temp = Math.round(data.main.temp); 
120                        temperatura.innerHTML = temp + "º C"; 
121                        localizacion.innerHTML = data.name; 
122                        descripcion.innerHTML = "<img src='http://openweathermap.org/img/wn/" + data.weather[0].icon + "@2x.png'>"; 
123                    });                     
124
125                getWeather(); 
126            </script> 
127		     
128			<div class="titular"> 
129		        <h2 class="text-white card-title font-weight-bold">${donde}</h2> 
130		    </div> 
131            <div class="geo"> 
132                <@liferay_map["map-display"] 
133                    geolocation=true 
134                    latitude=latitude 
135                    longitude=longitude 
136                    name="Geolocalizacink8uu" 
137                /> 
138				<p style="margin-top: 1rem;background: var(--primary);text-align: center;padding: 5px;"><a style="color: white;" href="https://maps.google.com/?q=${latitude},${longitude}" target="_blank">${maps}</a></p> 
139            </div> 
140		</div> 
141	</div>	 
142</div> 
143 
144<script> 
145	var camino = document.querySelectorAll('.breadcrumb-item'); 
146	camino[camino.length-1].innerText="${Nombre.getData()}"; 
147</script>