Visor de contenido web Visor de contenido web

Turista Segmentacion

Publicador de contenidos Publicador de contenidos

Se ha producido un error al procesar la plantilla.
Error on line 87, column 5 in 10157#10197#40856
originalRequest.cookies is undefined.
It cannot be assigned to cookies
1<#assign LayoutLocalService = serviceLocator.findService("com.liferay.portal.service.LayoutLocalService")> 
2<#assign layoutUrl = LayoutLocalService.getFriendlyURLLayout(layout.getGroup().getGroupId(), layout.isPrivateLayout(), "/inicio")> 
3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")> 
4<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetCategoryLocalService")> 
5 
6<#-- Inicializacion de taglibs --> 
7<#assign smart = taglibLiferayHash["/WEB-INF/tld/smart.tld"] /> 
8<#assign portlet = taglibLiferayHash["http://java.sun.com/portlet_2_0"] /> 
9 
10<#-- Se recupera la request --> 
11<#assign originalRequest = portalUtil.getOriginalServletRequest(portalUtil.getHttpServletRequest(renderRequest))> 
12 
13<#-- Se recupera la herramienta smart para categorias --> 
14<#assign smartCategoryTools = utilLocator.findUtil("es.smart.view.tool.assetcategory.AssetCategoryTool") /> 
15 
16<#-- Definicion por defecto de pagina a mostrar --> 
17<#assign paginaActualEx = "0" /> 
18<#if originalRequest.getParameter("numeroDePagina")?has_content> 
19    <#assign paginaActualEx = originalRequest.getParameter("numeroDePagina") /> 
20</#if> 
21<#assign totalExPag = "6" /> 
22<#assign elementosPorPagina = "6" /> 
23<#assign ultimaPagina = "1" /> 
24 
25<#---------------------------- 
26  -----  EXPERIENCIAS 
27------------------------------> 
28<#-- Parametros buscador --> 
29<#assign filtroCat = "#CAT:" /> 
30<#assign filtroCatMacro = "" /> 
31<#assign paramsFiltroEx = "" /> 
32<#assign numCat = "0" /> 
33 
34<#assign parameterNames = originalRequest.parameterNames /> 
35<#assign segmentacionTurista = "" /> 
36<#assign classBotonRecordar = "hidden" /> 
37<#assign hayTuristaEnSesion = "false" /> 
38<#attempt> 
39    <#assign session = originalRequest.getSession() /> 
40    <#if (session?has_content) > 
41        <#assign turista = session.getAttribute("LIFERAY_SHARED_TURISTA") /> 
42        <#if (turista.nombre?has_content)> 
43            <#if ("" != turista.nombre)> 
44                <#assign hayTuristaEnSesion = "true" /> 
45                <#assign classBotonRecordar = "" /> 
46            </#if> 
47        </#if> 
48    </#if> 
49<#recover> 
50    <#assign hayTuristaEnSesion = "false" /> 
51</#attempt> 
52 
53<#assign parameterNamesList=[]> 
54<#list parameterNames as key> 
55    <#assign parameterNamesList = parameterNamesList + [key]> 
56</#list> 
57 
58<#assign parameterNames = parameterNamesList?sort />  
59 
60<#-- Recuperacion de filtros de segmentacion recibidos por parametro --> 
61<#list parameterNames as key> 
62    <#if key?starts_with("filtroCat_")> 
63        <#if (filtroCat != "#CAT:") && (numCat == key?substring(10,11))> 
64            <#assign filtroCat = filtroCat + "," /> 
65            <#assign filtroCatMacro = filtroCatMacro + "," /> 
66        <#else> 
67            <#if (filtroCat != "#CAT:")> 
68                <#assign filtroCat = filtroCat + "|" /> 
69                <#assign filtroCatMacro = filtroCatMacro + "," /> 
70            </#if> 
71        </#if> 
72         
73        <#assign filtroCat = filtroCat + key?substring(12,(key?length)) /> 
74        <#assign filtroCatMacro = filtroCatMacro + key?substring(12,(key?length)) /> 
75        <#assign paramsFiltroEx = paramsFiltroEx + "&"+key+"="+key?substring(12,(key?length)) /> 
76        <#assign numCat = key?substring(10,11)?string /> 
77        <script type="text/javascript"> 
78            console.log("se utilizan los parametros: " + ${filtroCatMacro}); 
79        </script> 
80    </#if> 
81</#list> 
82 
83<#assign segmentacionCookies = "" /> 
84<#-- Si no se han recibido filtros por parametro, se comprueba si el usuario  
85     esta logado y se utilizan los del perfil de usuario -->  
86<#if (filtroCat == "#CAT:")> 
87    <#assign cookies = originalRequest.cookies /> 
88    <#if cookies?has_content> 
89        <#list cookies as cookie> 
90            <#if "segmentacionTurista" == cookie.name > 
91                <#assign segmentacionCookies = cookie.value /> 
92                <#break /> 
93            </#if> 
94        </#list> 
95        <#-- Se comprueba si se han recibido cookies de segmentacion --> 
96        <#if ("" != segmentacionCookies)> 
97            <#-- Se separa el string con los ids en un listado de identificadores --> 
98            <#assign listaSubCats = segmentacionCookies?split("%2C") /> 
99            <#-- Se recupera el filtro para el buscador, que necesita separacion entre categorias --> 
100            <#assign filtroCat = filtroCat + smartCategoryTools.obtenerFiltroCategoriasFromIDs(listaSubCats, "|", ",") /> 
101            <#-- Se recupera el filtro para la macro, que no diferencia entre categorias --> 
102            <#assign filtroCatMacro = smartCategoryTools.obtenerFiltroCategoriasFromIDs(listaSubCats, "", ",") /> 
103            <script type="text/javascript"> 
104                console.log("se utilizan las cookies: " + ${filtroCatMacro}); 
105            </script> 
106        </#if> 
107    </#if> 
108    <#-- Si no hay filtrado de cookies se comprueba si hay filtrado de cliente --> 
109    <#if ((filtroCat == "#CAT:") && ("true" == hayTuristaEnSesion))> 
110        <#assign catsCliente = smartCategoryTools.obtenerPerfilesCliente(request, locale) /> 
111        <#if catsCliente?has_content> 
112            <#list catsCliente as categoriaCliente> 
113                <#list categoriaCliente.subcategorias as subcategoria > 
114                    <#assign filtroCat = filtroCat + subcategoria.identificador /> 
115                    <#if (subcategoria_has_next)> 
116                        <#assign filtroCat = filtroCat + "," /> 
117                    </#if> 
118                    <#if (filtroCatMacro?has_content)> 
119                        <#assign filtroCatMacro = filtroCatMacro + "," + subcategoria.identificador/> 
120                    <#else> 
121                        <#assign filtroCatMacro = subcategoria.identificador /> 
122                    </#if> 
123                </#list> 
124                <#if (categoriaCliente_has_next)> 
125                    <#assign filtroCat = filtroCat + "|" /> 
126                </#if> 
127            </#list> 
128            <script type="text/javascript"> 
129                console.log("se utilizan la configuracion de cliente: " + ${filtroCatMacro}); 
130            </script> 
131        </#if> 
132    </#if> 
133</#if> 
134 
135<#-- Se recupera la URL para guardar los datos del perfil --> 
136<@portlet.actionURL portletName="turistasegmentacion_WAR_GestionTuristaportlet"  
137        name="guardarPerfilPorIdentificadores"  
138        var="guardarSementacionURL"  
139        windowState="exclusive"> 
140    <@portlet.param name="perfilesSeleccionados" value="${filtroCatMacro}"/> 
141</@portlet.actionURL> 
142 
143<#assign orderBy = "" /> 
144<#assign orderByParam = "ORRDERCOL" /> 
145<#if originalRequest.getParameter("orderBy")?has_content> 
146    <#assign orderBy = originalRequest.getParameter("orderBy") /> 
147     
148    <#if orderBy == "valoradas"> 
149        <#assign orderByParam = "MOSTVALUED" /> 
150    </#if> 
151    <#if orderBy == "recomendadas"> 
152         <#assign orderByParam = "ORDRECOM" /> 
153    </#if> 
154    <#if orderBy == "estacion"> 
155        <#assign orderByParam = "ORDSEASON" /> 
156    </#if> 
157    <#if orderBy == "title"> 
158        <#assign orderByParam = "ORRDERCOL" /> 
159    </#if> 
160<#else> 
161    <#assign orderBy = "valoradas" /> 
162    <#assign orderByParam = "MOSTVALUED" /> 
163</#if> 
164 
165<#assign paramsEx = "${paramsFiltroEx}&orderBy=${orderBy}" /> 
166 
167<#-- Filtro experiencias --> 
168<#assign filtroListadoAll = (originalRequest.getParameter("filtro"))!("#CTYPEID:19261#CNAMEID:10109#NUMRES:9999#PAG:0${filtroCat}")> 
169<@smart.filtradopublicador filtro=filtroListadoAll /> 
170<#assign totalElementosExp = entries?size /> 
171<#assign experienciasAll = entries /> 
172 
173<#assign filtroListado = (originalRequest.getParameter("filtro"))!("#CTYPEID:19261#CNAMEID:10109#NUMRES:${totalExPag}#PAG:${paginaActualEx}${filtroCat}#${orderByParam}:${orderBy}#ORRDERTYPE:ASC")> 
174<@smart.filtradopublicador filtro=filtroListado /> 
175 
176<#assign experiencias = entries /> 
177 
178<div id="experiencias" class="bg-gray-lighter"> 
179    <div class="row pad-top-xxl"> 
180        <div class="col-xs-16"> 
181            <h2 class="section-title text-center"><@liferay.language key="portalweb.templates.listadoExperiencias.experiencias_recomendadas" /></h2> 
182        </div> 
183    </div> 
184 
185    <div class="row"> 
186        <div class="col-xs-16 col-sm-14 col-sm-offset-1 bg-white"> 
187            <div class="panel panel-collapse"> 
188                <div class="panel-heading"> 
189                    <h3 class="panel-title"> 
190                        <a data-toggle="collapse" data-parent="#panelFiltradoExperiencias" href="#filtroExperiencias" class="collapsed"> 
191                            <span class="ico-xs-collapse"></span> 
192                            <@liferay.language key="portalweb.templates.vivelas.exp.comoQuieresViajarToledo" /> <small><@liferay.language key="portalweb.templates.vivelas.exp.cuentaPreferenciasRecom" /></small> 
193                        </a> 
194                    </h3> 
195                </div> 
196                <div id="filtroExperiencias" class="panel-collapse in collapse"> 
197                    <div class="planifica-panel-buscador row"> 
198                        <#-- Buscador de experiencias --> 
199                        <div class="col-xs-16 contenedorBusc"> 
200                            <form id="buscadorExp" name="buscadorExp" action='' method="post" class="pad-bottom-xs" role="form"> 
201                                <@smartMacros.iconosSegmentacionContenido  
202                                     isSoloLectura="false"  
203                                     tipoContenido="EXPERIENCIA" tipoDisposicion="horizontal" listCategorias=filtroCatMacro /> 
204                                <div class="row"> 
205                                    <div class="form-group"> 
206                                        <div class="col-xs-16 col-sm-5 col-sm-offset-6 buttonBuscar"> 
207                                            <input type="hidden" name="tab" id="tab" value="experiencias" /> 
208                                            <button type="submit" class="btn btn-primary btn-block" name="buscar"><@liferay.language key="search" /></button> 
209                                        </div> 
210                                        <div class="col-xs-16 col-sm-3 col-sm-offset-2 buttonBuscar ${classBotonRecordar}"> 
211                                            <div class="guardar-segmentacion-container"> 
212                                                <a href="${guardarSementacionURL}" class="dont-intercept btn btn-info" title="guardar" id="guardaSegmentacion"> 
213                                                    <@liferay.language key="portalweb.templates.btn.recuerdaSeleccion" /> 
214                                                </a> 
215                                            </div> 
216                                        </div> 
217                                    </div> 
218                                </div> 
219                            </form> 
220                        </div> 
221                    </div> 
222                </div> 
223            </div> 
224        </div> 
225    </div> 
226     
227    <#-- Ordenado de experiencias --> 
228    <div class="row" role="tabpanel"> 
229        <div class="col-xs-16 col-sm-14 col-sm-offset-1 pad-top-m bg-white contenedorOrd"> 
230            <div class="row"> 
231                <div class="col-xs-13 col-sm-13 contenedorElemMapa panel-title-orange" style="display: none;"> 
232                    <@liferay.language key="portalweb.templates.listados.selecElemMapa" /> 
233                </div> 
234                <div class="col-xs-10 col-sm-3 col-lg-3 contenedorOrderBy"> 
235                    <@liferay.language key="portalweb.templates.global.ordenarPor" />: 
236                </div> 
237                <div class="col-xs-6 col-sm-3 col-lg-2 col-sm-push-10 col-lg-push-11 contenedorMuestra"> 
238                    <div class="navigation-tabbed"> 
239                        <div class="nav-tabs-div"> 
240                            <ul class="nav-tabs-ul-clear nav nav-tabs navbar-right pull-right"> 
241                                <li role="presentation" class="active"> 
242                                    <a href="#vista-listado" role="tab" data-toggle="tab"><span class="glyphicon glyphicon-th-list"></span></a> 
243                                </li> 
244                                <li role="presentation"> 
245                                    <a href="#vista-mapa" role="tab" data-toggle="tab"><span class="glyphicon glyphicon-map-marker"></span></a> 
246                                </li> 
247                            </ul> 
248                        </div> 
249                    </div> 
250                </div> 
251                <div class="col-xs-16 col-sm-10 col-lg-11 col-sm-pull-3 col-lg-pull-2 contenedorPills">    
252                    <ul class="nav nav-pills" role="tablist"> 
253                        <li role="presentation" <#if orderBy == "valoradas">class="active"</#if>><a href="?orderBy=valoradas"><@liferay.language key="portalweb.templates.global.masValoradas" /></a></li> 
254                        <li role="presentation" <#if orderBy == "recomendadas">class="active"</#if>><a href="?orderBy=recomendadas"><@liferay.language key="portalweb.templates.global.recomendadas" /></a></li> 
255                        <li role="presentation" <#if orderBy == "estacion">class="active"</#if>><a href="?orderBy=estacion"><@liferay.language key="portalweb.templates.global.porEstacion" /></a></li> 
256                        <li role="presentation" <#if orderBy == "title">class="active"</#if>><a href="?orderBy=title"><@liferay.language key="portalweb.templates.global.alfabeticamente" /></a></li> 
257                    </ul> 
258                </div> 
259            </div> 
260        </div> 
261    </div> 
262     
263    <#-- Experiencias --> 
264    <div class="tab-content"> 
265        <div id="vista-listado" role="tabpanel" role="tabpanel" class="tab-pane fade in active"> 
266            <div id="experienciasBuscListContenedor" class="row"> 
267                <#assign seccion = "experiencias" /> 
268                <div class="col-sm-offset-1 col-sm-14 ${seccion}"> 
269                   <div class="row pad-bottom-col pad-top-m"> 
270                        <div class="col-sm-16"> 
271                            <@smartMacros.listaExperiencias 
272                                experiencias=experiencias /> 
273                        </div> 
274                    </div> 
275                </div> 
276                <@smart.paginador seccion="${seccion}" ruta="vivelo" nombrePaginador="pageExperiencias" params="${paramsEx}" paginaActual="${paginaActualEx}" totalElementos="${totalElementosExp}" elementosPorPagina="${elementosPorPagina}" ultimaPagina="${ultimaPagina}" /> 
277                <@smart.paginadorJS seccion="${seccion}" /> 
278            </div> 
279        </div> 
280        <div role="tabpanel" class="tab-pane fade" id="vista-mapa"> 
281            <div class="row"> 
282                <div class="col-sm-16"> 
283                    <div id="contMapBuscaExp"> 
284                         
285                    </div> 
286                </div> 
287            </div> 
288        </div> 
289    </div> 
290</div> 
291 
292<#-- Listado para mapa --> 
293<div> 
294    <#list experienciasAll as entry> 
295        <#-- Se recuperan los datos del contenido en el idioma actual --> 
296        <#assign journalArticle = journalArticleLocalService.getLatestArticle(entry.classPK)> 
297        <#assign content = journalArticle.getContentByLocale(locale)> 
298        <#assign docRelacionado = saxReaderUtil.read(content)> 
299        <#-- Se recupera el identificador --> 
300        <#assign idExperiencia = (journalArticle.articleId)!"0" /> 
301        <#assign puntos_geograficos = (docRelacionado.selectNodes("//*/dynamic-element[@name='punto_geografico']/dynamic-content")) /> 
302        <#escape x as x?html> 
303            <#assign title = (entry.getTitle(locale))!"" /> 
304            <#assign description = (docRelacionado.selectSingleNode("//*/dynamic-element[@name='entradilla']/dynamic-content").getText())!""> 
305        </#escape> 
306        <#assign background_image_peq = (doc.selectSingleNode("//*/dynamic-element[@name='Icono-peq']/dynamic-content").getText())!""> 
307        <#if background_image_peq==""> 
308            <#assign background_image_peq = (doc.selectSingleNode("//*/dynamic-element[@name='Galeria']/dynamic-content").getText())!""> 
309        </#if> 
310         
311		<#assign contador=1 /> 
312		<#if puntos_geograficos?has_content > 
313	        <#list puntos_geograficos as punto> 
314	        	<#assign position_x = (punto.selectSingleNode("(//*/dynamic-element[@name='punto_geografico'])[${contador}]/dynamic-element[@name='longitud']/dynamic-content").getText())!"0"> 
315		        <#if ("null"==position_x)> 
316		        	<#assign position_x ="0"> 
317		        </#if> 
318		        <#assign position_y = (punto.selectSingleNode("(//*/dynamic-element[@name='punto_geografico'])[${contador}]/dynamic-element[@name='latitud']/dynamic-content").getText())!"0"> 
319		        <#if ("null"==position_y)> 
320		        	<#assign position_y ="0"> 
321		        </#if> 
322		        <#assign urlSEO > 
323                    <@smart.entrySEOURL 
324		                entryType="experiencia"  
325		                entryId="${idExperiencia}" 
326		                entryTitle="${title}" 
327		                currentPath="" 
328				    /> 
329		        </#assign> 
330		        <span class="datos-experiencia_${entry_index}" 
331		            <#escape x as x?html> 
332		                  data-marker-id="${idExperiencia}" 
333		                  data-marker-position-x="${position_x}" 
334		                  data-marker-position-y="${position_y}" 
335		                  data-marker-urlSEO="${urlSEO}" 
336		                  data-marker-name="${title}" 
337		                  data-marker-description="${description}" 
338		                  data-marker-category="" 
339		                  data-marker-icon="" 
340		                  data-marker-img="${background_image_peq}"> 
341		            </#escape> 
342		         </span> 
343		         <#assign contador=contador+1 /> 
344	         </#list> 
345         </#if> 
346          
347    </#list> 
348</div> 
349 
350<script type="text/javascript">     
351    // Filtrado por categorias recibido 
352    var filtroCategorias="${filtroCatMacro}"; 
353     
354    /** 
355     * Cambia la vista del tab a la del mapa, con 
356     * rllabarta - 2014/11/14 
357     */ 
358    function mostrarMapa(selectorDiv, etiquetaMapa) { 
359        if (!window.mapBRecController) { 
360            // Se carga el controlador del mapa 
361            window.mapBRecController = new MapController(selectorDiv, etiquetaMapa, "${themeDisplay.siteGroup.friendlyURL}"); 
362            jQuery('#' + etiquetaMapa).on('map-init-' + etiquetaMapa, function(){ 
363                //actualizarDatosMapa(etiquetaMapa); 
364            }); 
365             
366        } else { 
367            //actualizarDatosMapa(etiquetaMapa); 
368        }    
369
370     
371    /* Realiza el guardado en el CRM de la segmentacion  
372     * rllabarta 2015/01/20 
373     */ 
374    function guardaSegmentacionCRM(e) { 
375        e.preventDefault(); 
376        // Se recupera la url a la que invocar para el guardado de perfiles 
377        urlGuardado=jQuery(this).attr('href'); 
378        var params = urlGuardado.split('?')[1]; 
379        showLoading(); 
380        // Se invoca a la url para que se realice el guardado 
381        jQuery.get(urlGuardado, params, function(data, textStatus){ 
382            hideLoading(); 
383            // Se comprueba si se recibe respuesta 
384            if ("success" === textStatus) { 
385                // Se recupera el texto recuperado y se muestra en un tooltip sobre el boton  
386                console.log("Se ha recibido respuesta del guardado: %o ",data); 
387            } else { 
388                // mostrar mensaje de error 
389                console.error("No se ha recibido respuesta del guardado"); 
390
391        }); 
392     
393
394     
395    function initListeners(){ 
396        jQuery('#guardaSegmentacion').on("click", guardaSegmentacionCRM); 
397         
398        jQuery('.grupo-icono-segmentacion input').on("click", Smart.Segmentacion.filtroSegmentacionChangedHandler); 
399         
400        /** 
401         * Tab events 
402         */ 
403        jQuery('a[data-toggle="tab"]').on('shown.bs.tab',  function() { 
404            Smart.Components.initLazyLoad('img.lazy'); 
405             
406            if ("#vista-mapa" == jQuery(this).attr('href')) { 
407                // Se muestra el mapa 
408                mostrarMapa('contMapBuscaExp', 'mapBuscaExp'); 
409                 
410                // Se muestra el mensaje del mapa 
411                jQuery('.contenedorOrderBy').hide(); 
412                jQuery('.contenedorPills').hide(); 
413                jQuery('.contenedorMuestra').removeClass('col-xs-6'); 
414                jQuery('.contenedorMuestra').addClass('col-xs-3'); 
415                jQuery('.contenedorMuestra').removeClass('col-sm-push-10'); 
416                jQuery('.contenedorMuestra').removeClass('col-lg-push-11'); 
417                jQuery('.contenedorMuestra').addClass('col-lg-push-0'); 
418                jQuery('.contenedorElemMapa').show(); 
419                jQuery('.contenedorOrd').removeClass('pad-top-m'); 
420                jQuery('.contenedorOrd').addClass('pad-top-xs'); 
421                jQuery('.contenedorMuestra').addClass('pad-top-xs'); 
422                 
423                // Se cargan sus marcadores 
424                jQuery('#mapBuscaExp').on("map-init-mapBuscaExp", function(){ 
425                    mapBRecController.cargaMarcadoresDesdeNodos("[class^='datos-experiencia_']"); 
426                }); 
427            } else { 
428                //mostrarListado(); 
429                // Se muestra el div de ordenado 
430                jQuery('.contenedorElemMapa').hide(); 
431                jQuery('.contenedorPills').show(); 
432                jQuery('.contenedorOrderBy').show(); 
433                jQuery('.contenedorMuestra').removeClass('col-xs-3'); 
434                jQuery('.contenedorMuestra').addClass('col-xs-6'); 
435                jQuery('.contenedorMuestra').addClass('col-sm-push-10'); 
436                jQuery('.contenedorMuestra').removeClass('col-lg-push-0'); 
437                jQuery('.contenedorMuestra').addClass('col-lg-push-11'); 
438                jQuery('.contenedorOrd').addClass('pad-top-m'); 
439                jQuery('.contenedorOrd').removeClass('pad-top-xs'); 
440                jQuery('.contenedorMuestra').removeClass('pad-top-xs'); 
441
442             
443        }); 
444
445     
446    /* Inicializacion pagina  
447     * rllabarta 2015/01/20 
448     */ 
449    function initBuscadorRecursos() { 
450        // Se inicializan los listeners 
451        initListeners(); 
452         
453        // Se actualizan las cookies si es necesario 
454        if ("" != filtroCategorias) { 
455            // Borrar cookies 
456            Smart.Segmentacion.clearAllSelectedFilterCookies(); 
457            // Establecer las nuevas cookies 
458            Smart.Segmentacion.setCookie(Smart.Segmentacion.FILTER_COOKIE_NAME, filtroCategorias); 
459        }  
460
461     
462     
463    initBuscadorRecursos(); 
464     
465</script> 

Ofertas Ultima Hora Destacadas Portlet Ofertas Ultima Hora Destacadas Portlet

javax.portlet.title.smartContentViewer javax.portlet.title.smartContentViewer

Galería multimedia