An error occurred while processing the template.
Failed to "?eval" string with this error:

---begin-message---
Syntax error in ?eval-ed string in line 1, column 225:
Lexical error: encountered "u" (117), after "\"Luis Romero cuenta su experiencia como \\".
---end-message---

The failing expression:
==> curEntry.getData()?eval  [in template "16924578#16924624#37509" at line 117, column 44]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign map = curEntry.getData()?eval  [in template "16924578#16924624#37509" at line 117, column 29]
----
1<div class="video-banner__container"> 
2    <div class="container"> 
3        <div class="row"> 
4            <div class="col-md-4 px-sm-0 px-xs-0"> 
5                <div class="video-banner-info"> 
6                    <p class="tagline">${detallePaís.entradilla.getData()}</p> 
7                    <h1 class="title">${nombre.getData()}</h1>   
8                    <div class="paragraph">${detallePaís.Descripcion.getData()}</div> 
9                </div> 
10            </div> 
11            <div class="col-md-8 px-sm-0 px-xs-0"> 
12                <div class="video-banner-multimedia"> 
13                    <#if detallePaís.video.getData()?? && detallePaís.video.getData() != "" && detallePaís.imagenDesktop.getData()?? && detallePaís.imagenDesktop.getData() != ""> 
14                        <button class="multimedia-video js-multimedia-video" aria-label="Play video" style="width:100%"> 
15                            <span class="icon icon-play-b-ig"></span>	                    
16                            <img class="img-desktop" alt="${detallePaís.imagenDesktop.getAttribute("alt")}" data-fileentryid="${detallePaís.imagenDesktop.getAttribute("fileEntryId")}" src="${detallePaís.imagenDesktop.getData()}" />                                      
17                        </button>  
18                        <iframe width="100%" height="315" src="${detallePaís.video.getData()}" class="hide" frameborder="0" 
19                        allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" 
20                        allowfullscreen></iframe> 
21                    <#elseif detallePaís.video.getData()?? && detallePaís.video.getData() != ""> 
22                        <div id="imagen-video-pais"> 
23                            <iframe width="100%" height="315" src="${detallePaís.video.getData()}"> 
24                            </iframe> 
25                        </div> 
26                    <#else> 
27                        <div class="img-mobile" id="imagen-mobile-pais"> 
28                            <#if detallePaís.imagenMobile.getData()?? && detallePaís.imagenMobile.getData() != ""> 
29                            <img alt="${detallePaís.imagenMobile.getAttribute("alt")}" data-fileentryid="${detallePaís.imagenMobile.getAttribute("fileEntryId")}" src="${detallePaís.imagenMobile.getData()}" /> 
30                            </#if> 
31                        </div> 
32                        <div class="img-desktop" id="imagen-desktop-pais"> 
33                            <#if detallePaís.imagenDesktop.getData()?? && detallePaís.imagenDesktop.getData() != ""> 
34                            <img alt="${detallePaís.imagenDesktop.getAttribute("alt")}" data-fileentryid="${detallePaís.imagenDesktop.getAttribute("fileEntryId")}" src="${detallePaís.imagenDesktop.getData()}" /> 
35                            </#if> 
36                        </div> 
37                    </#if> 
38                </div> 
39            </div> 
40        </div> 
41    </div> 
42</div> 
43 
44<div class=container> 
45    <div class="title-text title-text--bigger no-border"> 
46        <div class="row"> 
47            <div class="col-xs-12 col-sm-4"> 
48                <#if (detallePaís.textosupmapa.titulosup)??> 
49                    <h2>${detallePaís.textosupmapa.titulosup.getData()}</h2>    
50                </#if>  
51            </div> 
52            <div class="col-xs-12 col-sm-8"> 
53                <#if (detallePaís.textosupmapa.textosup)??> 
54                    ${detallePaís.textosupmapa.textosup.getData()} 
55                </#if> 
56            </div> 
57        </div> 
58    </div> 
59</div> 
60 
61<div class="detail-map-data__container"> 
62    <div class="detail-map-data-img"> 
63        <#--  imagen mapa --> 
64        <#if detallePaís.datosConMapa.mapaImagen.getData()?? && detallePaís.datosConMapa.mapaImagen.getData() != ""> 
65            <img alt="${detallePaís.datosConMapa.mapaImagen.getAttribute("alt")}" data-fileentryid="${detallePaís.datosConMapa.mapaImagen.getAttribute("fileEntryId")}" src="${detallePaís.datosConMapa.mapaImagen.getData()}" /> 
66        </#if> 
67        <#--  fin imagen mapa --> 
68    </div> 
69    <div class=container> 
70        <div class="row"> 
71            <div class="col-md-6 col-md-offset-6"> 
72                <p class="detail-map-data-title">${detallePaís.datosConMapa.titulo.getData()}</p> 
73                <div class="detail-map-data"> 
74                    <#--  bucle cifras --> 
75                    <#list detallePaís.datosConMapa.cifra.getSiblings() as s> 
76                        <div class="data"> 
77                            <p class="digit">${s.valor.getData()}</p> 
78                            <p class="magnitude">${s.magnitud.getData()}</p> 
79                            <p class="description">${s.texto.getData()}</p> 
80                        </div> 
81                    </#list> 
82                </div> 
83            </div> 
84        </div> 
85    </div> 
86</div> 
87     
88<div class=container> 
89    <div class="title-text title-text--bigger no-border" style="padding-bottom: 0;"> 
90        <div class="row"> 
91            <div class="col-xs-12 col-sm-4"> 
92                <#if (detallePaís.textoinfmapa.tituloinf)??> 
93                    <h2>${detallePaís.textoinfmapa.tituloinf.getData()}</h2>    
94                </#if>  
95            </div> 
96            <div class="col-xs-12 col-sm-8"> 
97                <#if (detallePaís.textoinfmapa.textoinf)??> 
98                    ${detallePaís.textoinfmapa.textoinf.getData()} 
99                </#if> 
100            </div> 
101        </div> 
102    </div> 
103</div> 
104 
105<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")/> 
106 
107<#-- Slider de destacados --> 
108<#-- No se incluye si el primer destacado está vacío --> 
109<#if destacados.getData()?has_content> 
110    <div class="container mainWrapper px-0"> 
111        <div class="mediatext-full-width-slider__container js-mediatext-full-width-slider"> 
112            <#--  slider imagen  --> 
113            <div class="swiper-container mediatext-full-width-slider--img">                    
114                <div class="swiper-wrapper"> 
115                    <#list destacados.getSiblings() as curEntry> 
116                        <#if curEntry.getData()?has_content> 
117                            <#assign map = curEntry.getData()?eval /> 
118                            <#if map?? && map?has_content > 
119                                <#assign classPK = map.classPK?number />  
120                                <#assign journalArticle =  JournalArticleLocalService.fetchLatestArticle(classPK)> 
121                                <#assign structure = journalArticle.getDDMStructure()> 
122                                <#assign templates = structure.getTemplates()> 
123                                <#list templates as template> 
124                                <#--  slider texto - contenido a repetir  --> 
125                                    <#if template.getName()?contains("SACYR_GLOBAL_TMP_DESTACADO_PAIS_IMAGEN")> 
126                                        ${JournalArticleLocalService.getArticleContent(journalArticle, template.getTemplateKey(), "VIEW", locale, null, themeDisplay)} 
127                                    </#if> 
128                                <#--  FIN slider texto - contenido a repetir  --> 
129                                </#list> 
130                            </#if> 
131                        </#if> 
132                    </#list> 
133                </div> 
134            </div> 
135            <#--  FIN slider imagen  --> 
136            <#--  slider texto  -->             
137            <div class="swiper-container mediatext-full-width-slider--text"> 
138                <div class="swiper-wrapper"> 
139                    <#list destacados.getSiblings() as curEntry> 
140                        <#if curEntry.getData()?has_content> 
141                            <#assign map = curEntry.getData()?eval /> 
142                            <#if map?? && map?has_content > 
143                                <#assign classPK = map.classPK?number />  
144                                <#assign journalArticle =  JournalArticleLocalService.fetchLatestArticle(classPK)> 
145                                <#assign structure = journalArticle.getDDMStructure()> 
146                                <#assign templates = structure.getTemplates()> 
147                                <#list templates as template> 
148                                <#--  slider texto - contenido a repetir  --> 
149                                    <#if template.getName()?contains("SACYR_GLOBAL_TMP_DESTACADO_PAIS_TEXTO")> 
150                                        ${JournalArticleLocalService.getArticleContent(journalArticle, template.getTemplateKey(), "VIEW", locale, null, themeDisplay)} 
151                                    </#if> 
152                                <#--  FIN slider texto - contenido a repetir  --> 
153                                </#list> 
154                            </#if> 
155                        </#if> 
156                    </#list> 
157                </div> 
158                <#if (destacados.getSiblings()?size > 1)  > 
159                    <div class="slider-pagination"> 
160                        <button class="prev" aria-label="Previous slide"></button> 
161                        <button class="next" aria-label="Next slide"></button> 
162                    </div> 
163                </#if> 
164            </div>            
165            <#--  FIN slider texto  -->            
166        </div> 
167    </div> 
168</#if> 
169 
170<#-- Proyectos destacados --> 
171<#-- No se incluye si el primer proyecto está vacío --> 
172<#if proyectos.getData()?has_content> 
173    <#if themeDisplay.locale?contains("ES") > 
174        <#assign project_text = "Proyectos destacados" /> 
175        <#assign show_more_text = "Ver más" /> 
176    <#else> 
177        <#assign project_text = "Featured projects" /> 
178        <#assign show_more_text = "Show more" /> 
179    </#if> 
180 
181    <div class="text-media-box-container-middle-bigger featured-proyects-x3"> 
182		<div class="container not-eq-height"> 
183            <div class="main-title">${project_text}</div> 
184 
185            <#assign i = 0> 
186            <#list proyectos.getSiblings() as cur_proyectos>		 
187                <#if i % 3 == 0> 
188                    <div class="text-media-boxes"> 
189                </#if> 
190                 
191                <#if proyectos.getSiblings()?size == 1 > 
192                    <div class="box-container"> </div> 
193                </#if> 
194 
195                <#if cur_proyectos.getData()?has_content> 
196                    <div class="box-container"> 
197                        <#assign map = cur_proyectos.getData()?eval /> 
198                        <#assign classPK = map.classPK?number />  
199                        <#assign journalArticle =  JournalArticleLocalService.fetchLatestArticle(classPK)> 
200                        <#assign structure = journalArticle.getDDMStructure()> 
201                        <#assign templates = structure.getTemplates()> 
202                        <#list templates as template> 
203                            <#if template.getName()?contains("SACYR_GLOBAL_TMP_PROYECTO_PASTILLA")> 
204                                ${JournalArticleLocalService.getArticleContent(journalArticle, template.getTemplateKey(), "VIEW", locale, null, themeDisplay)} 
205                            </#if> 
206                        </#list> 
207                    </div> 
208     
209                    <#assign i = i + 1> 
210    				<#if i % 3 == 0> 
211    					</div> 
212    				</#if> 
213    			</#if> 
214            </#list> 
215 
216            <#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 
217            <#assign layoutProject = layoutLocalService.fetchLayoutByFriendlyURL(themeDisplay.getScopeGroupId(), false, '/conocenos/proyectos-destacados') /> 
218         
219            <a class="btn btn-primary" 
220                href="${themeDisplay.getScopeGroup().getDisplayURL(themeDisplay,false)}${layoutProject.getFriendlyURL(locale)}">${show_more_text}</a> 
221        </div> 
222	</div> 
223</#if> 

We use our own and third party cookies for analytical purposes. Click on HERE for more information. You can accept all cookies by clicking the "Accept" button or set them up or refuse their use by clicking .

Cookie declaration

These cookies are necessary for the website to function and cannot be disabled in our systems. These cookies do not store any personally identifiable information.

Name Provider Purpose Expiration Type
LFR_Sesión_STATE_* Liferay Manage your session as a registered user Session HTTP
GUEST_LANGUAGE_ID Liferay Determines the language with which it accesses, to show the same in the next session 1 year HTTP
ANONYMOUS_USER_ID Liferay Manage your session as an unregistered user 1 year HTTP
COOKIE_SUPPORT Liferay Identifies that the use of cookies is necessary for the operation of the portal 1 year HTTP
JSesiónID Liferay Manages login and indicates you are using the site Session HTTP
SACYRGDPR Sacyr Used to manage the cookie policy Session HTTP

These cookies allow us to count visits and sources of circulation in order to measure and improve the performance of our site. They help us know which pages are the most or least popular, and see how many people visit the site. All information collected by these cookies is aggregated and therefore anonymous.

Name Provider Purpose Expiration Type
_gat Google It is used to throttle the request rate - limiting the collection of data on high traffic sites Session HTTP
_gid Google It is used to store and update a unique value for each page visited Session HTTP
_ga Google This is used for statistical and analytical purposes for increasing performance of our Services Session HTTP