Se ha producido un error al procesar la plantilla.
Expression urlImagen is undefined on line 372, column 86 in 10154#10192#5161434.
1<#-- Plantilla para el contenido y mapa de cada bien de interes --> 
2 
3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService") /> 
4<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(groupId), .vars['reserved-article-id'].getData())/> 
5 
6<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetEntryLocalService") /> 
7<#assign asset = assetEntryLocalService.getEntry('com.liferay.portlet.journal.model.JournalArticle', article.resourcePrimKey) /> 
8 
9<#assign assetVocabularyLocalServiceUtil = staticUtil["com.liferay.portlet.asset.service.AssetVocabularyLocalServiceUtil"]> 
10 
11<#assign imagesPath = "" /> 
12<#assign urlContenido = "" /> 
13<#assign scheme = "" /> 
14<#assign urlPortal = "" /> 
15<#assign friendlyURL = "" /> 
16 
17<#assign request = .vars['request']/> 
18<#list request?keys as key> 
19    <#if (key == 'theme-display') || (key == 'attributes')> 
20        <#assign hash1 = request[key]/> 
21        <#list hash1?keys as otrakey> 
22            <#if otrakey == 'path-theme-images'> 
23                <#assign imagesPath = getterUtil.getString(hash1[otrakey]) /> 
24            </#if> 
25            <#if otrakey == 'url-portal'> 
26                <#assign urlPortal = getterUtil.getString(hash1[otrakey]) /> 
27            </#if> 
28            <#if otrakey == 'FRIENDLY_URL'> 
29                <#assign friendlyURL = getterUtil.getString(hash1[otrakey]) /> 
30            </#if> 
31        </#list>         
32    </#if> 
33    <#if (key == 'scheme') >     
34        <#assign scheme = getterUtil.getString(request[key]) /> 
35    </#if> 
36</#list> 
37 
38<#assign urlContenido = scheme + "://" + urlPortal + friendlyURL /> 
39 
40<#assign municipio = " " /> 
41<#assign tipologia = "" /> 
42 
43<#-- 
44<#assign imagesPath = request['theme-display']['path-theme-images'] /> 
45 
46<#assign urlContenido = request['scheme'] + "://" /> 
47 
48<#assign urlContenido = urlContenido + request['theme-display']['url-portal'] /> 
49<#assign urlContenido = urlContenido + request['attributes']['FRIENDLY_URL'] /> 
50--> 
51 
52<#assign urlBuscador = (urlContenido?split("/-/"))[0] + "/busca-el-patrimonio" /> 
53 
54<@obtenerMunicipio  asset.getCategories() /> 
55 
56<div class="patrimonio contenido-bic"> 
57    <#if Fotografías_principales?has_content> 
58        <#if Fotografías_principales.getSiblings()?has_content> 
59            <#assign contador = 0 /> 
60            <script type="text/javascript" charset="utf-8"> 
61                $(function() { 
62                    var anchoLocal = $(window).width(); 
63                    var extra = ""; 
64                    if (anchoLocal < 1024){ 
65                        extra = "&width=1024"; 
66
67                    if (anchoLocal < 768){ 
68                        extra = "&width=768"; 
69                    }    
70         
71                    $('#slider_vegas_prev_${companyId}').on('click', function () { 
72                        $('#slidernormal_${companyId}').vegas('previous'); 
73                    });  
74         
75                    $('#slider_vegas_next_${companyId}').on('click', function () { 
76                        $('#slidernormal_${companyId}').vegas('next'); 
77                    });  
78                     
79                    $('#slidernormal_${companyId}').vegas({ 
80                     
81                        slides: [ 
82                            <#list Fotografías_principales.getSiblings() as cur_Fotografias_principales> 
83                                <#if contador == 0 >                             
84                                    { src: '${cur_Fotografias_principales.getData()}'+extra, titulo: '${Nombre_del_bien.getData()}', enlace: '', textoEnlace:'${municipio}'} 
85                                <#else> 
86                                    ,{ src: '${cur_Fotografias_principales.getData()}'+extra, titulo: '${Nombre_del_bien.getData()}', enlace: '', textoEnlace:'${municipio}'} 
87                                </#if> 
88                                <#assign contador = contador + 1 /> 
89                            </#list> 
90                 
91                        ], 
92                        timer: false,    
93                        transitionDuration: 1000, 
94                        transition: 'fade', 
95                        autoplay: false 
96                    }); 
97                }); 
98            </script> 
99            <div id="slidernormal_${companyId}" class="slidernormal imagenesprincipales"> 
100            <#if contador gt 1 > 
101                <menu class="menu-slider-vegas"> 
102                  <ul> 
103                    <li><a id="slider_vegas_prev_${companyId}" class="slider_vegas_prev flecha flecha-izquierda"><i class="fa fa-chevron-circle-left" aria-hidden="true"></i></a> 
104                    <li><a id="slider_vegas_next_${companyId}" class="slider_vegas_next flecha flecha-derecha"><i class="fa fa-chevron-circle-right" aria-hidden="true"></i></a>             
105                  </ul> 
106                </menu> 
107            </#if> 
108            </div> 
109        </#if>  
110    </#if>       
111    <div class="descripcion-breve subtitulo-imagen"> 
112        ${Descripción_breve.getData()} 
113    </div> 
114    <div class="bloquePrincipal"> 
115    <#if Fotografías_secundarios?has_content>     
116        <#if Fotografías_secundarios.getSiblings()?has_content> 
117            <#assign contador1 = 0 /> 
118            <script type="text/javascript" charset="utf-8"> 
119                $(function() { 
120                    var anchoLocal = $(window).width(); 
121                    var extra = ""; 
122                    if (anchoLocal < 1024){ 
123                        extra = "&width=1024"; 
124
125                    if (anchoLocal < 768){ 
126                        extra = "&width=768"; 
127                    }    
128         
129                    $('#slider_vegas_prev_${companyId}_secundario').on('click', function () { 
130                        $('#slidernormal_${companyId}_secundario').vegas('previous'); 
131                    });  
132         
133                    $('#slider_vegas_next_${companyId}_secundario').on('click', function () { 
134                        $('#slidernormal_${companyId}_secundario').vegas('next'); 
135                    });  
136         
137                    $('#slidernormal_${companyId}_secundario').vegas({ 
138                     
139                        slides: [ 
140                            <#list Fotografías_secundarios.getSiblings() as cur_Fotografias_secundarias> 
141                                <#if contador1 == 0 >                            
142                                    { src: '${cur_Fotografias_secundarias.getData()}'+extra, titulo: '', enlace: '', textoEnlace:''} 
143                                <#else> 
144                                    ,{ src: '${cur_Fotografias_secundarias.getData()}'+extra, titulo: '', enlace: '', textoEnlace:''} 
145                                </#if> 
146                                <#assign contador1 = contador1 + 1 /> 
147                            </#list> 
148                 
149                        ], 
150                        timer: false,    
151                        transitionDuration: 1000, 
152                        transition: 'fade', 
153                        autoplay: false 
154                    }); 
155                }); 
156            </script> 
157            <div id="slidernormal_${companyId}_secundario" class="slidernormal imagenessecundarias conoce-borde"> 
158            <#if contador1 gt 1 > 
159                <menu class="menu-slider-vegas"> 
160                  <ul> 
161                    <li><a id="slider_vegas_prev_${companyId}_secundario" class="slider_vegas_prev flecha flecha-izquierda"><i class="fa fa-chevron-circle-left" aria-hidden="true"></i></a> 
162                    <li><a id="slider_vegas_next_${companyId}_secundario" class="slider_vegas_next flecha flecha-derecha"><i class="fa fa-chevron-circle-right" aria-hidden="true"></i></a>          
163                  </ul> 
164                </menu> 
165            </#if> 
166            </div> 
167        </#if> 
168    </#if> 
169    <div class="descripcion-larga descripcion informacion"> 
170        ${Descripción_larga.getData()} 
171    </div> 
172    </div> 
173    <div class="info-adicional gris-claro-fondo"> 
174        <div class="nube-categorias"> 
175            <@organizarCategorias asset.getCategories() /> 
176        </div> 
177        <div class="declaracion-bic"> 
178        <#if Indicación_legislativa_del_BIC.getData()?has_content> 
179            <a href="${Enlace_a_URL_de_la_catalogación_del_BIC.getData()}" target="_blank"> 
180                <div class="gris-oscuro">DECLARADO BIEN DE INTERÉS CULTURAL</div> 
181                <div class="gris-oscuro">CATEGORIA: ${tipologia?upper_case}</div> 
182                <div class="gris-oscuro">${Indicación_legislativa_del_BIC.getData()}</div> 
183            </a> 
184        </#if>         
185        </div> 
186        <#if Localización.getData()?has_content> 
187        <img id="iconogeo" src="${imagesPath}/custom/iconogeo.png"> 
188        </#if> 
189    </div> 
190    <#if Localización.getData()?has_content> 
191    <div id="mapa-contenido" class="oculto"></div> 
192    <div class="barra-inferior rojo-fondo oculto"><i class="fa fa-times" aria-hidden="true"></i></div> 
193    </#if> 
194 
195    <@generarRelacionados asset /> 
196 
197</div> 
198 
199<#if Localización.getData()?has_content> 
200    <script> 
201    
202        // Icono marcador 
203        var  iconoMarcadorRojo = '${imagesPath}/custom/iconogeorojo.png'; 
204        var map; 
205 
206      function initMap() { 
207        var bounds = new google.maps.LatLngBounds(); 
208         
209        map = new google.maps.Map(document.getElementById('mapa-contenido'), { 
210          mapTypeId: 'roadmap', 
211          styles: [ 
212
213                      featureType: 'administrative', /* Nombres de localidades */ 
214                      elementType: 'labels.text.fill', 
215                      stylers: [{color: '#646464'}]   
216                    }, 
217
218                      featureType: 'poi',                   /* Texto de puntos de interés como "Las Cumbres" o "Parque Santa Catalina" */ 
219                      elementType: 'labels.text.fill', 
220                      stylers: [{color: '#646464'}] 
221                    }, 
222
223                      featureType: 'poi',                   /* Geopmetría de los puntos de interés como "Las Cumbres" o "Parque Santa Catalina" */ 
224                      elementType: 'geometry', 
225                      stylers: [{color: '#FAF0E6'}] 
226                    }, 
227 
228
229                      featureType: 'road',                  /* Lineas de carreteras y calles*/ 
230                      elementType: 'geometry', 
231                      stylers: [{color: '#a5a49e'}] 
232                    }, 
233 
234
235                      featureType: 'road',                  /* Nombres de calles y carreteras */ 
236                      elementType: 'labels.text.fill', 
237                      stylers: [{color: '#646464'}] 
238                    }, 
239
240                      featureType: 'landscape',                 /* Elementos de paisaje */ 
241                      elementType: 'geometry', 
242                      stylers: [{color: '#FAF0E6'}] 
243                    }, 
244
245                      featureType: 'water',                 /* Agua del mar */ 
246                      elementType: 'geometry', 
247                      stylers: [{color: '#a1a09b'}]    
248
249 
250
251        }); 
252             
253        var myLatlng = new google.maps.LatLng(${Localización.getData()}); 
254        var marker = new google.maps.Marker({ 
255            position: myLatlng, 
256            icon: iconoMarcadorRojo 
257        }); 
258         
259        // Se pone el marcador en el mapa 
260        marker.setMap(map); 
261         
262        // Se almacena cada punto para que se genere el área que el mapa debe mostrar (bounds) 
263        bounds.extend(myLatlng); 
264     
265        // Centrar el mapa en el área del marcador 
266        map.fitBounds(bounds); 
267        map.panToBounds(bounds); 
268
269         
270    </script> 
271    <script async defer 
272        src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDfIY4KOaO4TrZkCebbF79RQQOxNi_A3V8&callback=initMap"> 
273    </script> 
274 
275    <script> 
276        $("#iconogeo").click(function(){ 
277            $("#mapa-contenido").toggleClass("oculto"); 
278            google.maps.event.trigger(map, "resize"); 
279            var bounds = new google.maps.LatLngBounds(); 
280            var myLatlng = new google.maps.LatLng(${Localización.getData()}); 
281            bounds.extend(myLatlng); 
282            map.fitBounds(bounds); 
283            map.panToBounds(bounds); 
284            map.setZoom(15); 
285            $(".barra-inferior").toggleClass("oculto"); 
286        }); 
287        $(".fa.fa-times").click(function(){ 
288            $("#mapa-contenido").toggleClass("oculto"); 
289            $(".barra-inferior").toggleClass("oculto"); 
290        });         
291    </script>         
292</#if> 
293 
294<#macro obtenerMunicipio listaCategorias> 
295        <#assign separador = "" /> 
296        <#list listaCategorias as categoria> 
297            <#assign vocabularioId = categoria.getVocabularyId() /> 
298            <#assign nombreVocabulario = assetVocabularyLocalServiceUtil.getVocabulary(vocabularioId).getName() /> 
299            <#if nombreVocabulario == "Municipios"> 
300                <#assign municipio = municipio + separador + categoria.name?upper_case > 
301                <#assign separador = " / " /> 
302            </#if> 
303        </#list> 
304</#macro> 
305 
306<#macro organizarCategorias listaCategorias> 
307    <#if listaCategorias?has_content> 
308        <#list listaCategorias as categoria> 
309            <#assign vocabularioId = categoria.getVocabularyId() /> 
310            <#assign nombreVocabulario = assetVocabularyLocalServiceUtil.getVocabulary(vocabularioId).getName() /> 
311            <#if nombreVocabulario == "Municipios" || nombreVocabulario == "Visualizacion"> 
312            <#else > 
313                <a href="${urlBuscador}?catbic=${categoria.categoryId}"> 
314                    <span class="rojo">${categoria.name?cap_first}</span> 
315                </a> 
316            </#if> 
317            <#if nombreVocabulario == "Tipologia">             
318                <#assign tipologia = categoria.name?cap_first > 
319            </#if> 
320        </#list> 
321    </#if>   
322</#macro> 
323 
324<#macro generarRelacionados asset> 
325    <#assign articleAssetEntryId = asset.getEntryId() /> 
326    <#assign assetLinkLocalService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetLinkLocalService" ) /> 
327    <#assign relatedLinks = assetLinkLocalService.getDirectLinks(articleAssetEntryId) /> 
328    <#if relatedLinks?has_content> 
329        <#assign contador = 1 /> 
330        <div id="bic-relacionados" > 
331            <div class="rojo">TAMBIÉN TE PUEDE INTERESAR</div> 
332            <div id="lista-bic-relacionados"> 
333            <#list relatedLinks as link > 
334                <#if contador gt 4 > 
335                    <#break> 
336                </#if> 
337                <div class="bic-relacionado"> 
338                <#assign linkedAssetEntry = assetEntryLocalService.getEntry(link.getEntryId2()) /> 
339                <#assign journalArticle = linkedAssetEntry.getAssetRenderer().getArticle() /> 
340                <#assign serviceContext = staticUtil["com.liferay.portal.service.ServiceContextThreadLocal"].getServiceContext()> 
341                <#assign themeDisplay = serviceContext.getThemeDisplay() /> 
342                <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(themeDisplay.getLanguageId())) /> 
343                <#assign rootElement = document.getRootElement()/> 
344                    <#list rootElement.elements() as dynamicElement> 
345 
346                        <#assign titulo = journalArticle.getTitle(locale) /> 
347 
348                        <#assign url = journalArticle.getUrlTitle() />                
349 
350                        <#if "Nombre_del_bien" == dynamicElement.attributeValue("name") > 
351                            <#if dynamicElement.element("dynamic-content").getText()?has_content > 
352                                <#assign titulo = dynamicElement.element("dynamic-content").getText() /> 
353                            </#if> 
354                        </#if> 
355 
356                        <#if "Fotografias_principales" == dynamicElement.attributeValue("name") > 
357                            <#if dynamicElement.elements()?has_content > 
358                                <#assign elementoImagen = dynamicElement.elements("dynamic-content")[0] /> 
359                                <#assign urlImagen = elementoImagen.getText() /> 
360                            </#if> 
361                        </#if>   
362 
363                        <#if "Fotografías_principales" == dynamicElement.attributeValue("name") > 
364                            <#if dynamicElement.elements()?has_content > 
365                                <#assign elementoImagen = dynamicElement.elements("dynamic-content")[0] /> 
366                                <#assign urlImagen = elementoImagen.getText() /> 
367                            </#if> 
368                        </#if>                       
369 
370                    </#list> 
371                    <a href="${url}"> 
372                        <div class="bic-relacionado-imagen" style="background: url(${urlImagen}) no-repeat; background-position: center center; background-size: cover; "></div> 
373                        <div class="bic-relacionado-nombre gris-oscuro">${titulo}</div> 
374                    </a> 
375                </div> 
376                <#assign contador = contador + 1 />                 
377            </#list>     
378            </div> 
379        </div> 
380    </#if>  
381</#macro>