You must login to use this function.

must-login-label-2

ACCEDER
An error occurred while processing the template.
The following has evaluated to null or missing:
==> TituloInfoExtra  [in template "20101#20127#286721" at line 428, column 6]

----
Tip: If the failing expression is known to be 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 TituloInfoExtra.getData()?? && Ti...  [in template "20101#20127#286721" at line 428, column 1]
----
1<#assign journalArticleId = .vars['reserved-article-id'].data> 
2<#assign journalArticleResourceLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")> 
3<#assign assetCategoryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
4<#assign assetVocabularyLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")> 
5<#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/> 
6<#assign categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) > 
7<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
8<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
9 
10<input id="hotel-journal-article-id" type="text" hidden="true" value="${journalArticleId}" /> 
11<div class="container -vistaSitio"> 
12  <div class="d-flex intro-info"> 
13    <div class="w-50 d-flex flex-column justify-content-start pr-4"> 
14      <h2>${Titulo.getData()}</h2> 
15         <div class="d-flex flex-wrap mt-3 w-100 align-items-center"> 
16            <#list categoryList as category> 
17              
18                <#assign tiposExperiencias = [339003, 727898, 339002, 659977, 457488, 457489, 659917]> 
19                 <#if tiposExperiencias?seq_contains(category.categoryId)> 
20                  
21                  <p class="tipo-sitio d-flex align-items-center justify-content-start" data="${category.name}">${category.getTitle(themeDisplay.getLocale())}</p>     
22                 </#if>             
23               
24                 
25                <#assign UrlClean = category.name?lower_case?replace(" ", "-")?replace("á", "a")?replace("é", "e")?replace("í", "i")?replace("ó", "o")?replace("ú", "u")?replace("ñ", "n")?replace("ü", "u")>          
26                <#if (category.vocabularyId = 340465 )>   
27                 <input id="municioID" name="${category.name}" type="hidden" value="${category.categoryId}"/> 
28                <div class="tags d-flex order-0" data-ingrediente="municipio"> 
29                    <a  href="${themeDisplay.getPortalURL()}/web/jaen-paraiso-interior/${UrlClean}"><p>${category.name}</p></a> 
30                </div> 
31                </#if> 
32                <#if (category.vocabularyId = 1306497 )>  
33                 <#assign UrlCleanComarca = category.name?lower_case?replace(" ", "-")?replace("á", "a")?replace("é", "e")?replace("í", "i")?replace("ó", "o")?replace("ú", "u")?replace("ñ", "n")?replace("ü", "u")>     
34                <div class="tags d-flex border-left-0 pl-0 order-1"> 
35                     <a  href="${themeDisplay.getPortalURL()}/web/jaen-paraiso-interior/${UrlCleanComarca}"><p>${category.name}</p></a> 
36                </div> 
37                </#if> 
38                 <#if (category.parentCategoryId = 659917)> 
39                 <div class="tags d-flex border-left-0 pl-0 order-2"> 
40                    <p>${category.getTitle(themeDisplay.getLocale())}</p> 
41                </div> 
42                
43                </#if> 
44                <#if (category.parentCategoryId = 659977)> 
45                <div class="tags d-flex border-left-0 pl-0 order-1"> 
46                    <p>${category.getTitle(themeDisplay.getLocale())}</p> 
47                </div> 
48                </#if> 
49                
50            </#list> 
51            </div> 
52        
53         
54        <#if DuracionDeLaExperiencia.getData()?? && DuracionDeLaExperiencia.getData() != ""> 
55        <div class=" mt-3 -dest align-items-center conten-column d-flex justify-content-sm-start pl-0"> 
56            <span class="reloj-icon"> </span> 
57             <div class="text duracion"> 
58             <p class="secondary-color text-destacado">${DuracionDeLaExperiencia.getData()}</p> 
59             </div> 
60        </div> 
61        </#if> 
62        <#if PrecioPorDia.getData()?? && PrecioPorDia.getData() != ""> 
63        <div class="mt-3 -dest align-items-center conten-column d-flex justify-content-sm-start pl-0"> 
64            <span class="moneda-icon"> </span> 
65             <div class="text precio"> 
66             <p class="secondary-color"><span class="secondary-color text-destacado">${PrecioPorDia.getData()}</span> <@liferay.language key='por-persona'/></p>  
67             </div> 
68        </div> 
69        </#if> 
70        
71        <#if Direccion.getData()?? && Direccion.getData() != ""> 
72        <div class="mt-3 -dest align-items-center conten-column d-flex justify-content-sm-start pl-0"> 
73                <span class="ubicacion-icon"> </span> 
74               
75                <#list Direccion.getSiblings() as cur_Direccion> 
76                 
77                    <div class="text ubicacion"> 
78                    <p>  
79                    <#if cur_Direccion.NombreSitio.getData()?? && cur_Direccion.NombreSitio.getData() != "">  
80                    <b>${cur_Direccion.NombreSitio.getData()}</b><br> 
81                    </#if> 
82                    <#if cur_Direccion.getData()?? && cur_Direccion.getData() != ""> 
83                        ${cur_Direccion.getData()}. 
84                    </#if> 
85                    <#if cur_Direccion.CodigoPostal.getData()?? && cur_Direccion.CodigoPostal.getData() != ""> 
86                    ${cur_Direccion.CodigoPostal.getData()} 
87                    </#if> 
88                    <#list categoryList as category> 
89                    <#if (category.vocabularyId = 340465 )> 
90                    ${category.getTitle(themeDisplay.getLocale())} 
91                    <#if cur_Direccion.Comarca.getData()?? && cur_Direccion.Comarca.getData() != "">  
92                    - ${cur_Direccion.Comarca.getData()} 
93                    </#if> 
94                     
95                     
96                        <#if cur_Direccion.Longitud.getData()?? && cur_Direccion.Longitud.getData() != "">  
97                        <#if cur_Direccion.Latitud.getData()?? && cur_Direccion.Latitud.getData() != "">  
98                        <a class="link mapId" target="_blank" id="www.google.es/maps/dir//${cur_Direccion.getData()},+${cur_Direccion.CodigoPostal.getData()}+ ${category.name}${cur_Direccion.Comarca.getData()}/@${cur_Direccion.Latitud.getData()},${cur_Direccion.Longitud.getData()}"><@liferay.language key='como-llegar'/></a> 
99                        </#if> 
100                        </#if> 
101                     
102                    </#if> 
103                    </#list> 
104                    </p> 
105                    </div> 
106                </#list>  
107        </div> 
108        </#if> 
109        <#if Entradilla1.getData()?? && Entradilla1.getData() != "">  
110        <div class="mt-3 entradilla"> 
111            ${Entradilla1.getData()} 
112        </div> 
113        </#if> 
114        </div> 
115 
116      
117    <div class="w-50"> 
118        <#if ImagenDestacada.getData()?? && ImagenDestacada.getData() != ""> 
119          <div class="box-img" style="background-image:url(${ImagenDestacada.getData()});cursor: auto"> 
120          </div> 
121        </#if> 
122    </div> 
123  </div> 
124  <#--  -----  --> 
125  <#if ImagenesSlider.getData()?? && ImagenesSlider.getData() != ""> 
126  <div class="contenedor-slider d-flex mt-4  col-12"> 
127    <div class="col-3"></div> 
128    <div class="on js-slider col-9"> 
129      <#if ImagenesSlider.getSiblings()?has_content> 
130       <#list ImagenesSlider.getSiblings() as cur_ImagenesSlider> 
131        <#if cur_ImagenesSlider?index == 3>   
132          <a 
133            class="carousel-control-prev" 
134            href="#carrouselvistaSitio" 
135            role="button" 
136            data-slide="prev" 
137
138          <span 
139            class="carousel-control-prev-icon" 
140            aria-hidden="true" 
141            ></span> 
142          <span class="sr-only">Previous</span> 
143          </a> 
144          <a 
145            class="carousel-control-next" 
146            href="#carrouselvistaSitio" 
147            role="button" 
148            data-slide="next" 
149
150          <span 
151            class="carousel-control-next-icon" 
152            aria-hidden="true" 
153            ></span> 
154          <span class="sr-only">Next</span> 
155          </a> 
156       </#if> 
157      </#list> 
158      </#if> 
159      <div class="row"> 
160        <div 
161          id="carrouselvistaSitio" 
162          class="carousel slide" 
163          data-ride="carousel" 
164
165          <#if ImagenesSlider.getSiblings()?has_content>  
166          <div class="carousel-inner pb-0"> 
167            <#list ImagenesSlider.getSiblings() as cur_ImagenesSlider> 
168            <#if cur_ImagenesSlider?counter % 3 == 1>  
169             <div class="carousel-item ${(cur_ImagenesSlider?counter == 1)?then('active', '')}  ${(cur_ImagenesSlider?index == 3)?then('', 'justify-content-end')} "> 
170              </#if> 
171              <#if ImagenesSlider.getSiblings()?has_content> 
172              <div class="box-img js-box-img float-left col-4" style="background-image:url(${cur_ImagenesSlider.getData()})" data-url="${cur_ImagenesSlider.getData()}"> 
173              <span class="mask"></span> 
174              </div> 
175              </#if> 
176              <#if cur_ImagenesSlider?counter % 3 == 0>                         
177            </div> 
178            </#if> 
179            </#list> 
180          </div> 
181          </#if> 
182           
183        </div> 
184      </div> 
185    </div> 
186  </div> 
187  </div> 
188  </#if> 
189  <#--  ----  --> 
190  <div class="container-info -vistaSitio"> 
191  <#if Contacto.Email.getData()?? && Contacto.Email.getData() != ""> 
192    <div class="align-items-center d-flex flex-column w-50 float-left container-box-contenido"> 
193      
194      
195      <div class="align-items-center container-title-big informacion w-100"> 
196        <h2><@liferay.language key='informacion'/></h2> 
197      </div> 
198      
199      <div class="box-contenido"> 
200        <div class="column"> 
201          <#if Horario.getData()?? && Horario.getData() != ""> 
202          <div class="conten-column"> 
203            <img 
204              src="http://jaen.innopulse.es/o/jaen-theme/images/iconos/reloj.png" 
205              alt="" 
206              /> 
207            <div class="text"> 
208              <strong><@liferay.language key='horario'/></strong> 
209              <p> 
210                ${Horario.getData()} 
211              </p> 
212            </div> 
213          </div> 
214           </#if> 
215            <#if RegimenContratacion.getData()?? && RegimenContratacion.getData() != ""> 
216            <div class="conten-column  "> 
217             
218                <img src="/o/jaen-theme/images/iconos/icon-contratacion.png" alt="" /> 
219                <div class="text"> 
220                <strong><@liferay.language key='regimen-contratacion'/></strong> 
221                <p > 
222                    ${RegimenContratacion.getData()} 
223                </p>  
224                </div> 
225            </div> 
226            </#if> 
227            <#if TipologíaDeVisitantes.getData()?? && TipologíaDeVisitantes.getData() != ""> 
228            <div class="conten-column  "> 
229             
230                <img src="/o/jaen-theme/images/iconos/icon-familia.png" alt="" /> 
231                <div class="text"> 
232                <strong><@liferay.language key='tipologia-visitante'/></strong> 
233                <p > 
234                    ${TipologíaDeVisitantes.getData()} 
235                </p>  
236                </div> 
237            </div> 
238            </#if> 
239          <div class="conten-column"> 
240            <img 
241              src="http://jaen.innopulse.es/o/jaen-theme/images/iconos/telefono.png" 
242              alt="" 
243              /> 
244               
245            <div class="text"> 
246                  <strong><@liferay.language key='informacion-y-reservas'/></strong> 
247                  <#if Contacto.getSiblings()?has_content> 
248                    <#list Contacto.getSiblings() as cur_Contacto> 
249                     
250                      <p><b>${cur_Contacto.NombreSitioHorario.getData()}</b></p> 
251                      <#if cur_Contacto.getData()?? && cur_Contacto.getData() != ""> 
252                        <p > 
253                          ${cur_Contacto.getData()} 
254                        </p> 
255                         
256                      </#if> 
257                      <#if cur_Contacto.Telefono.getData()?? && cur_Contacto.Telefono.getData() != ""> <p> 
258                        <#list Contacto.Telefono.getSiblings() as cur_Telefono> 
259                            <a href="tel:+${cur_Telefono.getData()}"> 
260                                ${cur_Telefono.getData()}<br> 
261                            </a> 
262                        </#list> 
263                      </p> 
264                      </#if> 
265                       <#if cur_Contacto.Email.getData()?? && cur_Contacto.Email.getData() != "">  
266                      <p> 
267                        <#list Contacto.Email.getSiblings() as cur_Email> 
268                            <a href="tel:+${cur_Email.getData()}"> 
269                                ${cur_Email.getData()} <br> 
270                            </a> 
271                        </#list> 
272                      </p> 
273                      </#if> 
274                       <p style="overflow:hidden;"> 
275                        <#if Contacto.Web.getSiblings()?has_content> 
276                            <#list Contacto.Web.getSiblings() as cur_Web> 
277                               <a class="link" href="http://${cur_Web.getData()}" target="_blank" 
278                          >${cur_Web.getData()}</a 
279
280                            </#list> 
281                        </#if> 
282                         </p> 
283                       
284                    </#list> 
285                  </#if> 
286                    
287                  
288                  
289                  
290                </div> 
291          </div> 
292        </div> 
293      </div> 
294       
295     </#if> 
296    </div> 
297    <#if DescripcionDeLaExperiencia.getData()?? && DescripcionDeLaExperiencia.getData() != "">  
298    <div class="descripcionBreve pt-0"> 
299        <p class="title primary-color"><@liferay.language key='programa'/></p> 
300        ${DescripcionDeLaExperiencia.getData()} 
301    </div> 
302    <#assign enlacesInteres = 0 /> 
303            <#assign fuentesInformacion = 0 /> 
304            <#if (FuentesDeInformacion?exists) && (FuentesDeInformacion.getSiblings()?has_content)> 
305                <#list FuentesDeInformacion.getSiblings() as cur_FuentesDeInformacion> 
306                <#if (cur_FuentesDeInformacion.getData()?? && cur_FuentesDeInformacion.getData() != "")> 
307                  <#assign fuentesInformacion = 1 /> 
308                </#if> 
309                </#list> 
310            </#if> 
311            <#if (EnlacesDeInteres?exists) && (EnlacesDeInteres.getSiblings()?has_content)> 
312                <#list EnlacesDeInteres.getSiblings() as cur_EnlacesDeInteres> 
313                <#if (cur_EnlacesDeInteres.getData()?? && cur_EnlacesDeInteres.getData() != "")> 
314                    <#assign enlacesInteres = 1 /> 
315                </#if> 
316                </#list> 
317            </#if> 
318             
319            <#if (enlacesInteres = 1 )> 
320                <div class="listado-enlaces"> 
321                    <p><@liferay.language key="enlaces-de-interes" /></p> 
322                    <div class="d-none"> 
323                        <#if (EnlacesDeInteres?exists)&& (EnlacesDeInteres.getSiblings()?has_content)> 
324                            <#list EnlacesDeInteres.getSiblings() as cur_EnlacesDeInteres> 
325                            <#if (cur_EnlacesDeInteres.TituloEnlaceDeInteres?exists)> 
326                                  <a  target="_blank" href="${cur_EnlacesDeInteres.getData()}">${cur_EnlacesDeInteres.TituloEnlaceDeInteres.getData()}</a> 
327                            </#if> 
328                            </#list> 
329                        </#if> 
330                    </div> 
331                </div> 
332            </#if> 
333            <#if (fuentesInformacion = 1 )> 
334                <div class="listado-enlaces"> 
335                    <p><@liferay.language key="fuente-de-informacion" /></p> 
336                    <div class="d-none"> 
337                        <#if (FuentesDeInformacion?exists) &&  (FuentesDeInformacion.getSiblings()?has_content)> 
338                            <#list FuentesDeInformacion.getSiblings() as cur_FuentesDeInformacion> 
339                            <#if (cur_FuentesDeInformacion.TituloFuenteDeInformación?exists)> 
340                                 <span >${cur_FuentesDeInformacion.TituloFuenteDeInformación.getData()}</span> 
341                            </#if> 
342                            </#list> 
343                        </#if> 
344                    </div> 
345                </div> 
346            </#if> 
347    </#if> 
348 
349  </div> 
350   
351   <div class="popup-img"> 
352        <div class="container-popup-img flex-column"> 
353          <span class="closePopup" >?</span> 
354          <img src="" alt="" /> 
355 
356        <#if ImagenesSlider.getData()?? && ImagenesSlider.getData() != ""> 
357        <div class="img-grid"> 
358          <div class="contenedor-slider d-flex mt-4 mb-5 col-12 img-grid"> 
359         
360              <div class="on js-slider col-12"> 
361              <#if ImagenesSlider.getSiblings()?has_content> 
362                <#list ImagenesSlider.getSiblings() as cur_ImagenesSlider> 
363                  <#if cur_ImagenesSlider?index == 10>  
364                <a 
365                      class="carousel-control-prev" 
366                      href="#carrouselgaleriaimgPopup" 
367                      role="button" 
368                      data-slide="prev" 
369
370                    <span 
371                      class="carousel-control-prev-icon" 
372                      aria-hidden="true" 
373                      ></span> 
374                    <span class="sr-only">Previous</span> 
375                    </a> 
376                    <a 
377                      class="carousel-control-next" 
378                      href="#carrouselgaleriaimgPopup" 
379                      role="button" 
380                      data-slide="next" 
381
382                    <span 
383                      class="carousel-control-next-icon" 
384                      aria-hidden="true" 
385                      ></span> 
386                    <span class="sr-only">Next</span> 
387                    </a> 
388                </#if> 
389                </#list> 
390                </#if> 
391                <div class="row"> 
392                  <div 
393                    id="carrouselgaleriaimgPopup" 
394                    class="carousel slide" 
395                    data-interval="false" 
396
397                <#if ImagenesSlider.getSiblings()?has_content> 
398                    <div class="carousel-inner pb-0"> 
399                      <#list ImagenesSlider.getSiblings() as cur_ImagenesSlider> 
400                      <#if cur_ImagenesSlider?counter % 10 == 1>  
401                      <div class="carousel-item ${(cur_ImagenesSlider?counter == 1)?then('active', '')}"> 
402                        </#if>    
403                               
404                        <div class="box-img js-box-img float-left " style="background-image:url(${cur_ImagenesSlider.getData()})" data-url="${cur_ImagenesSlider.getData()}"> 
405                          <span class="mask"></span> 
406                        </div>     
407                        <#if cur_ImagenesSlider?counter % 10 == 0>                         
408                      </div> 
409                      </#if> 
410                      </#list> 
411                    </div> 
412                    </#if> 
413                     
414                  </div> 
415                </div> 
416              </div> 
417            </div> 
418            </div> 
419           
420          </#if> 
421        </div> 
422      </div> 
423 
424    </div> 
425 
426</div> 
427 
428<#if TituloInfoExtra.getData()?? && TituloInfoExtra.getData() != "">  
429<div class="w-100 mt-5 d-flex align-items-start justify-content-between"> 
430<#if TituloInfoExtra.getSiblings()?has_content> 
431	 
432    <div class="menu-alojamiento col-3"> 
433    <#list TituloInfoExtra.getSiblings() as cur_TituloInfoExtra>       
434        <div class="item-menu-js ${(cur_TituloInfoExtra?index == 0)?then('on', '')}" data-info="data-${cur_TituloInfoExtra?index}">   
435         <p>${cur_TituloInfoExtra.getData()}</p> 
436        </div>        
437    </#list> 
438    </div> 
439          
440	 
441    <div class="container-alojamiento"> 
442    <#list TituloInfoExtra.getSiblings() as cur_TituloInfoExtra> 
443     <div class="box ${(cur_TituloInfoExtra?index == 0)?then('on', '')}"  data-info="data-${cur_TituloInfoExtra?index}"> 
444        
445        <div class="text-alojamiento"> 
446             ${cur_TituloInfoExtra.DescripcionInfoExtra.getData()} 
447        </div> 
448     </div> 
449     </#list> 
450    </div>   
451        
452    
453</#if> 
454</div> 
455</#if> 
456<script> 
457 
458  if(!!$('#municioID').val() && !location.search.includes("filterCategoryIds")){ 
459    var url = window.location.href + '?filterCategoryIds='+ $('#municioID').val() + '&operationType=AND' 
460    window.location = url 
461
462 
463$("a.mapId").on("click",function(){ 
464    if( (navigator.platform.indexOf("iPhone") != -1)  
465        || (navigator.platform.indexOf("iPod") != -1) 
466        || (navigator.platform.indexOf("iPad") != -1)){ 
467        window.open("maps://"+$(this).attr("id")); 
468        }else{ 
469        window.open("https://"+$(this).attr("id")); 
470
471}); 
472</script> 

It may interest you