Publicador de contenidos Publicador de contenidos

Se ha producido un error al procesar la plantilla.
Error on line 141, column 5 in 10157#10197#18118
originalRequest.cookies is undefined.
It cannot be assigned to cookies
1<#-- Inicializacion de servicios --> 
2<#assign LayoutLocalService = serviceLocator.findService("com.liferay.portal.service.LayoutLocalService")> 
3<#assign layoutUrl = LayoutLocalService.getFriendlyURLLayout(layout.getGroup().getGroupId(), layout.isPrivateLayout(), "/inicio")> 
4<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")> 
5<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetCategoryLocalService")> 
6 
7<#-- Inicializacion de taglibs --> 
8<#assign smart = taglibLiferayHash["/WEB-INF/tld/smart.tld"] /> 
9<#assign portlet = taglibLiferayHash["http://java.sun.com/portlet_2_0"] /> 
10 
11<#-- Se recupera la request --> 
12<#assign originalRequest = portalUtil.getOriginalServletRequest(portalUtil.getHttpServletRequest(renderRequest))> 
13 
14<#-- Se recupera la herramienta smart para categorias --> 
15<#assign smartCategoryTools = utilLocator.findUtil("es.smart.view.tool.assetcategory.AssetCategoryTool") /> 
16 
17<#setting locale = locale> 
18<#assign totalEventosPag = "6" /> 
19<#assign totalExPag = "6" /> 
20<#assign paginaActualEv = "0" /> 
21<#assign paginaActualEx = "0" /> 
22 
23<#if originalRequest.getParameter("numeroDePagina")?has_content> 
24    <#if (originalRequest.getParameter("tab")?has_content) && (originalRequest.getParameter("tab") == "agenda") > 
25        <#assign paginaActualEv = originalRequest.getParameter("numeroDePagina") /> 
26    </#if> 
27    <#if (originalRequest.getParameter("tab")?has_content) && (originalRequest.getParameter("tab") == "experiencias") > 
28        <#assign paginaActualEx = originalRequest.getParameter("numeroDePagina") /> 
29    </#if> 
30</#if> 
31 
32 
33 
34<#assign elementosPorPagina = "6" /> 
35<#assign ultimaPagina = "1" /> 
36 
37<#assign cambiaColumna = (totalEventosPag?number/2) /> 
38<#assign cierraColumna = (cambiaColumna-1) /> 
39<#assign fechaActual = "" /> 
40 
41<#assign fechaDesdeHoy=.now?string("dd/MM/y")> 
42 
43<#---------------------------- 
44  -------  EVENTOS 
45------------------------------> 
46<#-- Parametros buscador --> 
47<#-- Tab --> 
48<#assign tabActual = "agenda" /> 
49<#if originalRequest.getParameter("tab")?has_content> 
50    <#assign tabActual = originalRequest.getParameter("tab") /> 
51</#if> 
52<#-- Desde --> 
53<#assign fechaDesde = "" /> 
54<#if originalRequest.getParameter("fechaDesde")?has_content> 
55    <#assign fechaDesde = originalRequest.getParameter("fechaDesde") /> 
56<#else> 
57    <#assign fechaDesde = fechaDesdeHoy /> 
58</#if> 
59 
60<#-- Hasta --> 
61<#assign fechaHasta = "" /> 
62<#if originalRequest.getParameter("fechaHasta")?has_content> 
63    <#assign fechaHasta = originalRequest.getParameter("fechaHasta") /> 
64</#if> 
65 
66<#-- Lugar --> 
67<#assign lugar = "" /> 
68<#assign paramLugares = originalRequest.getParameterValues("lugar")!"" /> 
69<#if paramLugares?has_content> 
70    <#list paramLugares as lugarUnico> 
71        <#if lugar == ''> 
72            <#assign lugar = lugarUnico /> 
73        <#else> 
74            <#assign lugar = lugar + "," + lugarUnico /> 
75        </#if> 
76    </#list> 
77</#if> 
78 
79<#---------------------------- 
80  -----  EXPERIENCIAS 
81------------------------------> 
82<#-- Parametros buscador --> 
83<#assign filtroCat = "#CAT:" /> 
84<#assign filtroCatMacro = "" /> 
85<#assign paramsFiltroEx = "" /> 
86<#assign numCat = "0" /> 
87 
88<#assign parameterNames = originalRequest.parameterNames /> 
89<#assign segmentacionTurista = "" /> 
90<#assign classBotonRecordar = "hidden" /> 
91<#assign hayTuristaEnSesion = "false" /> 
92<#attempt> 
93    <#assign session = originalRequest.getSession() /> 
94    <#if (session?has_content) > 
95        <#assign turista = session.getAttribute("LIFERAY_SHARED_TURISTA") /> 
96        <#if (turista.nombre?has_content)> 
97            <#if ("" != turista.nombre)> 
98                <#assign hayTuristaEnSesion = "true" /> 
99                <#assign classBotonRecordar = "" /> 
100            </#if> 
101        </#if> 
102    </#if> 
103<#recover> 
104    <#assign hayTuristaEnSesion = "false" /> 
105</#attempt> 
106 
107<#assign parameterNamesList=[]> 
108<#list parameterNames as key> 
109    <#assign parameterNamesList = parameterNamesList + [key]> 
110</#list> 
111 
112<#assign parameterNames = parameterNamesList?sort />  
113 
114<#-- Recuperacion de filtros de segmentacion recibidos por parametro --> 
115<#list parameterNames as key> 
116    <#if key?starts_with("filtroCat_")> 
117        <#if (filtroCat != "#CAT:") && (numCat == key?substring(10,11))> 
118            <#assign filtroCat = filtroCat + "," /> 
119            <#assign filtroCatMacro = filtroCatMacro + "," /> 
120        <#else> 
121            <#if (filtroCat != "#CAT:")> 
122                <#assign filtroCat = filtroCat + "|" /> 
123                <#assign filtroCatMacro = filtroCatMacro + "," /> 
124            </#if> 
125        </#if> 
126         
127        <#assign filtroCat = filtroCat + key?substring(12,(key?length)) /> 
128        <#assign filtroCatMacro = filtroCatMacro + key?substring(12,(key?length)) /> 
129        <#assign paramsFiltroEx = paramsFiltroEx + "&"+key+"="+key?substring(12,(key?length)) /> 
130        <#assign numCat = key?substring(10,11)?string /> 
131        <script type="text/javascript"> 
132            console.log("se utilizan los parametros: " + ${filtroCatMacro}); 
133        </script> 
134    </#if> 
135</#list> 
136 
137<#assign segmentacionCookies = "" /> 
138<#-- Si no se han recibido filtros por parametro, se comprueba si el usuario  
139     esta logado y se utilizan los del perfil de usuario -->  
140<#if (filtroCat == "#CAT:")> 
141    <#assign cookies = originalRequest.cookies /> 
142    <#if cookies?has_content> 
143        <#list cookies as cookie> 
144            <#if "segmentacionTurista" == cookie.name > 
145                <#assign segmentacionCookies = cookie.value /> 
146                <#break /> 
147            </#if> 
148        </#list> 
149        <#-- Se comprueba si se han recibido cookies de segmentacion --> 
150        <#if ("" != segmentacionCookies)> 
151            <#-- Se separa el string con los ids en un listado de identificadores --> 
152            <#assign listaSubCats = segmentacionCookies?split("%2C") /> 
153            <#-- Se recupera el filtro para el buscador, que necesita separacion entre categorias --> 
154            <#assign filtroCat = filtroCat + smartCategoryTools.obtenerFiltroCategoriasFromIDs(listaSubCats, "|", ",") /> 
155            <#-- Se recupera el filtro para la macro, que no diferencia entre categorias --> 
156            <#assign filtroCatMacro = smartCategoryTools.obtenerFiltroCategoriasFromIDs(listaSubCats, "", ",") /> 
157            <script type="text/javascript"> 
158                console.log("se utilizan las cookies: " + ${filtroCatMacro}); 
159            </script> 
160        </#if> 
161    </#if> 
162    <#-- Si no hay filtrado de cookies se comprueba si hay filtrado de cliente --> 
163    <#if ((filtroCat == "#CAT:") && ("true" == hayTuristaEnSesion))> 
164        <#assign catsCliente = smartCategoryTools.obtenerPerfilesCliente(request, locale) /> 
165        <#if catsCliente?has_content> 
166            <#list catsCliente as categoriaCliente> 
167                <#list categoriaCliente.subcategorias as subcategoria > 
168                    <#assign filtroCat = filtroCat + subcategoria.identificador /> 
169                    <#if (subcategoria_has_next)> 
170                        <#assign filtroCat = filtroCat + "," /> 
171                    </#if> 
172                    <#if (filtroCatMacro?has_content)> 
173                        <#assign filtroCatMacro = filtroCatMacro + "," + subcategoria.identificador/> 
174                    <#else> 
175                        <#assign filtroCatMacro = subcategoria.identificador /> 
176                    </#if> 
177                </#list> 
178                <#if (categoriaCliente_has_next)> 
179                    <#assign filtroCat = filtroCat + "|" /> 
180                </#if> 
181            </#list> 
182            <script type="text/javascript"> 
183                console.log("se utilizan la configuracion de cliente: " + ${filtroCatMacro}); 
184            </script> 
185        </#if> 
186    </#if> 
187</#if> 
188 
189<#-- Se recupera la URL para guardar los datos del perfil --> 
190<@portlet.actionURL portletName="turistasegmentacion_WAR_GestionTuristaportlet"  
191        name="guardarPerfilPorIdentificadores"  
192        var="guardarSementacionURL"  
193        windowState="exclusive"> 
194    <@portlet.param name="perfilesSeleccionados" value="${filtroCatMacro}"/> 
195</@portlet.actionURL> 
196 
197<#assign orderBy = "" /> 
198<#assign orderByParam = "ORRDERCOL" /> 
199<#if originalRequest.getParameter("orderBy")?has_content> 
200    <#assign orderBy = originalRequest.getParameter("orderBy") /> 
201     
202    <#if orderBy == "valoradas"> 
203        <#assign orderByParam = "MOSTVALUED" /> 
204    </#if> 
205    <#if orderBy == "recomendadas"> 
206         <#assign orderByParam = "ORDRECOM" /> 
207    </#if> 
208    <#if orderBy == "estacion"> 
209        <#assign orderByParam = "ORDSEASON" /> 
210    </#if> 
211    <#if orderBy == "title"> 
212        <#assign orderByParam = "ORRDERCOL" /> 
213    </#if> 
214<#else> 
215    <#assign orderBy = "valoradas" /> 
216    <#assign orderByParam = "MOSTVALUED" /> 
217</#if> 
218 
219<#-------------------------------------------> 
220<#-- Variable de parametros para paginador --> 
221<#assign paramsEv = "&fechaDesde=${fechaDesde}&fechaHasta=${fechaHasta}&lugar=${lugar}&tab=agenda" /> 
222<#assign paramsEx = "&tab=experiencias${paramsFiltroEx}&orderBy=${orderBy}" /> 
223 
224<#-- Filtro eventos --> 
225<#assign filtroListado = (originalRequest.getParameter("filtro"))!("#CTYPEID:18112#CNAMEID:10109#NUMRES:9999#PAG:0#ORDFIELDDATE:fecha#ORRDERTYPE:ASC#fecha_DESDE:${fechaDesde}#fecha_HASTA:${fechaHasta}#localidad:${lugar}")> 
226<@smart.filtradopublicador filtro=filtroListado /> 
227<#assign totalElementos = entries?size /> 
228 
229<#assign filtroListado = (originalRequest.getParameter("filtro"))!("#CTYPEID:18112#CNAMEID:10109#NUMRES:${totalEventosPag}#PAG:${paginaActualEv}#ORDFIELDDATE:fecha#ORRDERTYPE:ASC#fecha_DESDE:${fechaDesde}#fecha_HASTA:${fechaHasta}#localidad:${lugar}")> 
230<@smart.filtradopublicador filtro=filtroListado /> 
231 
232<#assign eventos = entries /> 
233 
234<#-- Filtro experiencias --> 
235<#assign filtroListadoAll = (originalRequest.getParameter("filtro"))!("#CTYPEID:19261#CNAMEID:10109#NUMRES:9999#PAG:0${filtroCat}")> 
236<@smart.filtradopublicador filtro=filtroListadoAll /> 
237<#assign totalElementosExp = entries?size /> 
238<#assign experienciasAll = entries /> 
239 
240<#assign filtroListado = (originalRequest.getParameter("filtro"))!("#CTYPEID:19261#CNAMEID:10109#NUMRES:${totalExPag}#PAG:${paginaActualEx}${filtroCat}#${orderByParam}:${orderBy}#ORRDERTYPE:ASC")> 
241<@smart.filtradopublicador filtro=filtroListado /> 
242 
243<#assign experiencias = entries /> 
244 
245<div class="que-hacer-content"> 
246    <div class="row bg-gray-lighter"> 
247        <div class="col-xs-16"> 
248            <div class="navigation-tabbed"> 
249                <div class="nav-tabs-div row"> 
250                    <div class="col-xs-16 col-sm-14 col-sm-offset-1"> 
251                        <ul id="nav-tabs-ul-id" class="nav-tabs-ul nav nav-tabs text-uppercase" role="tablist"> 
252                            <li <#if tabActual == "experiencias">class="active"</#if>><a href="#experiencias" role="tab" data-toggle="tab"><@liferay.language key="portalweb.templates.buscadorEventos.experiencias" /></a></li> 
253                            <li <#if tabActual == "agenda">class="active"</#if>><a href="#agenda" role="tab" data-toggle="tab"><@liferay.language key="portalweb.templates.buscadorEventos.agenda" /></a></li> 
254                        </ul> 
255                    </div> 
256                </div> 
257            </div> 
258        </div> 
259    </div> 
260     
261    <div class="tab-content"> 
262        <#assign classTabActivo = "" /> 
263        <#if tabActual == "agenda"> 
264            <#assign classTabActivo = "in active" /> 
265        </#if> 
266        <div id="agenda" role="tabpanel" class="tab-pane fade ${classTabActivo}"> 
267            <div class="planifica-panel-buscador row"> 
268                <#-- Buscador de eventos --> 
269                <div class="col-xs-16 col-sm-14 col-sm-offset-1 bg-gray-lighter contenedorBusc"> 
270                    <form id="buscadorEventos" name="buscadorEventos" action='' method="post" class="form-primary pad-bottom-xs" role="form"> 
271                        <div class="row"> 
272                            <div class="form-group"> 
273                                <div class="col-xs-6 col-sm-4 col-lg-3"> 
274                                    <label for="fechaDesde"><@liferay.language key="portalweb.templates.buscadorEventos.desde" /></label> 
275                                    <input type="text" name="fechaDesde" id="fechaDesde" size="12" value="${fechaDesde}" class="form-control" /> 
276                                    <input type="hidden" name="tab" id="tab" value="agenda" /> 
277                                </div> 
278                            </div> 
279                            <div class="form-group"> 
280                                <div class="col-xs-6 col-sm-4 col-lg-3"> 
281                                    <label for="fechaHasta"><@liferay.language key="portalweb.templates.buscadorEventos.hasta" /></label> 
282                                    <input type="text" name="fechaHasta" id="fechaHasta" size="12" value="${fechaHasta}" class="form-control" /> 
283                                </div> 
284                            </div> 
285                            <div class="form-group"> 
286                                <div class="col-xs-14 col-sm-5 col-lg-6"> 
287                                    <label for="lugar"><@liferay.language key="portalweb.templates.buscadorEventos.lugar" /></label> 
288                                    <@smartMacros.desplegableLocalidades 
289                                                id="lugar" nombre="lugar"  
290                                                esMultiple=false selected=lugar val="nombre" /> 
291                                </div> 
292                            </div> 
293                            <div class="form-group"> 
294                                <div class="col-xs-16 col-sm-3 col-lg-4 buttonBuscar"> 
295                                    <button type="submit" class="btn btn-primary btn-block" name="buscar"><@liferay.language key="portalweb.templates.buscadorEventos.buscar" /></button> 
296                                </div> 
297                            </div> 
298                        </div> 
299                    </form> 
300                </div> 
301            </div> 
302            <#--Contenedor de eventos --> 
303            <#assign seccion = "eventos" /> 
304            <div id="eventosBuscListContenedor" class="row pad-bottom-m"> 
305                <div class="col-xs-16 col-sm-14 col-sm-offset-1 ${seccion}" > 
306                    <div class="contSinPg_${seccion}"> 
307                        <#assign total = eventos?size > 
308                        <#--Recorrido de eventos --> 
309                        <#if eventos?has_content> 
310                            <#list eventos as evento> 
311                                <#assign journalArticle = journalArticleLocalService.getLatestArticle(evento.getClassPK()) /> 
312                                <#assign content = journalArticle.getContentByLocale(locale) /> 
313                                <#assign doc = saxReaderUtil.read(content) /> 
314                                 
315                                <#assign titulo = doc.selectSingleNode("//*/dynamic-element[@name='titulo']/dynamic-content").getText() /> 
316                                <#assign fecha = doc.selectSingleNode("//*/dynamic-element[@name='fecha']/dynamic-content").getText() /> 
317                                <#assign numFecha = fecha?number /> 
318                                <#assign numFechaD = numFecha?number_to_date /> 
319                                 
320                                <#assign entrada = doc.selectSingleNode("//*/dynamic-element[@name='entrada']/dynamic-content").getText() /> 
321                                <#assign localidad = doc.selectSingleNode("//*/dynamic-element[@name='localidad']/dynamic-content").getText() /> 
322                                <#if evento_index%cambiaColumna == 0> 
323                                    <div class="col-sm-16 col-md-8 columna-resultados"> 
324                                </#if> 
325                                 
326                                <#-- - Clase para los divs de fecha que cojan separación  
327                                       de altura si cambia la fecha. 
328                                     - Clases para ocultar el dia o la caja de fecha si la fecha 
329                                       es igual a la anterior y la tiene que pintar. Dependiendo 
330                                       del tamano de la pantalla ocultara el dia o la caja. 
331                                --> 
332                                <#assign claseMargen = "" /> 
333                                <#assign claseFechaEvento = "" /> 
334                                <#assign claseMargenResumen = "" /> 
335                                <#assign claseFechaConteEvento = "" /> 
336                                <#if fecha != fechaActual && evento_index%cambiaColumna != 0> 
337                                    <#assign claseMargen = "margen-fecha-evento" /> 
338                                <#else> 
339                                    <#if (evento_index != 0 && evento_index%cambiaColumna != 0)> 
340                                        <#assign claseFechaEvento = "hidden-sm" /> 
341                                        <#assign claseFechaConteEvento = "hidden-xs" /> 
342                                    </#if> 
343                                    <#if (evento_index%cambiaColumna != 0)> 
344                                        <#assign claseMargen = "" /> 
345                                        <#assign claseFechaEvento = "hidden-sm" /> 
346                                        <#assign claseMargenResumen = "margen-fecha-evento" /> 
347                                    </#if> 
348                                    <#if (evento_index%cambiaColumna == 0)> 
349                                        <#assign claseMargen = "margen-fecha-evento" /> 
350                                    </#if> 
351                                </#if> 
352                                 
353                                <#-- Se crea un row por cada cambio de fecha o cambio de columna --> 
354                                <#if fecha != fechaActual || evento_index%cambiaColumna == 0> 
355                                    <#-- Se cierran los divs si cambio la fecha y si estaban inicializados --> 
356                                    <#if (evento_index != 0 && fecha != fechaActual && evento_index%cambiaColumna != 0)> 
357                                            </div> 
358                                        </div> 
359                                    </#if> 
360                                     
361                                    <#assign fechaActual = fecha /> 
362                                    <div class="row ${claseMargen}"> 
363                                        <div class="col-xs-16 col-sm-4 col-md-5"> 
364                                            <div class="row fecha-evento alto-comun-${evento_index} clearfix ${claseFechaConteEvento}"> 
365                                                <div class="texto-fecha-evento"> 
366                                                    <div class="col-xs-10 col-sm-16 col-xs-push-1 col-sm-push-0 ${claseFechaEvento} text-uppercase"> 
367                                                        ${numFechaD?string["MMM yyyy"]} 
368                                                    </div> 
369                                                    <div class="col-xs-4 col-sm-16 col-xs-pull-10 col-sm-pull-0 font-size-15 size-dia ${claseFechaEvento}"> 
370                                                        ${numFechaD?string["dd"]} 
371                                                    </div> 
372                                                </div> 
373                                            </div> 
374                                        </div> 
375                                        <div class="col-xs-16 col-sm-10 col-md-9 alto-comun-${evento_index} clearfix"> 
376                                </#if> 
377                                 
378                                <div class="col-xs-16 col-sm-8 col-md-16 resumen-evento ${claseMargenResumen}"> 
379                                    <#assign idEvento = (journalArticle.articleId)!"0" /> 
380                                    <#assign enlace > 
381		                            	<@smart.entrySEOURL 
382			                                entryType="evento"  
383			                                entryId=idEvento 
384			                                entryTitle=titulo 
385			                                currentPath="" 
386		                                /> 
387	                            	</#assign> 
388                                    <div class="main-title"><a href="${enlace}">${titulo}</a></div> 
389                                    <div class="secondary-title">${localidad}</div> 
390                                    <#assign entradilla = entrada /> 
391                                    <#if (entradilla?length gte 50)> 
392                                        <#assign entradilla = entrada?substring(0,50) + "[...]" /> 
393                                    </#if> 
394                                    <div class="text">${entradilla}</div> 
395                                     
396                                    <div class="estrellas"> 
397                                        <@smart.valoracion  
398                                            className=evento.className  
399                                            contenidoId=journalArticle.resourcePrimKey /> 
400                                    </div> 
401                                </div> 
402                                <#-- Si es el ultimo evento se cierran los div ya que no volvera a entrar en el bucle --> 
403                                <#if ((evento_index+1) == total) || (evento_index%cambiaColumna == cierraColumna)> 
404                                        </div> 
405                                    </div> 
406                                </#if> 
407                                 
408                                <#if (evento_index%cambiaColumna == cierraColumna) || ((evento_index+1) == total)> 
409                                    </div> 
410                                </#if> 
411                            </#list> 
412                        <#else> 
413                            <@liferay.language key="portalweb.templates.buscadorEventos.noEventos" /> 
414                        </#if> 
415                    </div> 
416                </div> 
417                <@smart.paginador seccion="${seccion}" ruta="planificate/que-hacer" nombrePaginador="pageEventos" params="${paramsEv}" paginaActual="${paginaActualEv}" totalElementos="${totalElementos}" elementosPorPagina="${elementosPorPagina}" ultimaPagina="${ultimaPagina}" /> 
418                <@smart.paginadorJS seccion="${seccion}" /> 
419            </div> 
420        </div> 
421         
422        <#assign classTabActivo = "" /> 
423        <#if tabActual == "experiencias"> 
424            <#assign classTabActivo = "in active" /> 
425        </#if> 
426        <div id="experiencias" role="tabpanel" role="tabpanel" class="tab-pane fade ${classTabActivo}"> 
427            <div class="planifica-panel-buscador row"> 
428                <#-- Buscador de experiencias --> 
429                <div class="col-xs-16 col-sm-14 col-sm-offset-1 bg-gray-lighter contenedorBusc"> 
430                    <form id="buscadorExp" name="buscadorExp" action='' method="post" class="pad-bottom-xs" role="form"> 
431                        <@smartMacros.iconosSegmentacionContenido  
432                             isSoloLectura="false"  
433                             tipoContenido="EXPERIENCIA" tipoDisposicion="horizontal" listCategorias=filtroCatMacro /> 
434                        <div class="row"> 
435                            <div class="form-group">     
436                                <div class="col-xs-16 col-sm-5 col-sm-offset-6 buttonBuscar"> 
437                                    <input type="hidden" name="tab" id="tab" value="experiencias" /> 
438                                    <button type="submit" class="btn btn-primary btn-block" name="buscar"><@liferay.language key="portalweb.templates.buscadorEventos.buscarActividades" /></button> 
439                                </div> 
440                                <div class="col-xs-16 col-sm-3 col-sm-offset-2 buttonBuscar ${classBotonRecordar}"> 
441                                    <div class="guardar-segmentacion-container"> 
442                                        <a href="${guardarSementacionURL}" class="dont-intercept btn btn-info" title="guardar" id="guardaSegmentacion"> 
443                                            <@liferay.language key="portalweb.templates.btn.recuerdaSeleccion" /> 
444                                        </a> 
445                                    </div> 
446                                </div> 
447                            </div> 
448                        </div> 
449                    </form> 
450                </div> 
451            </div> 
452                 
453            <#-- Ordenado de experiencias --> 
454            <div class="row" role="tabpanel"> 
455                <div class="col-xs-16 col-sm-14 col-sm-offset-1 pad-top-m bg-white contenedorOrd"> 
456                    <div class="row"> 
457                        <div class="col-xs-13 col-sm-13 contenedorElemMapa panel-title-orange" style="display: none;"> 
458                            <@liferay.language key="portalweb.templates.listados.selecElemMapa" /> 
459                        </div> 
460                        <div class="col-xs-10 col-sm-3 col-lg-3 contenedorOrderBy"> 
461                            <@liferay.language key="portalweb.templates.global.ordenarPor" />: 
462                        </div> 
463                        <div class="col-xs-6 col-sm-3 col-lg-2 col-sm-push-10 col-lg-push-11 contenedorMuestra"> 
464                            <div class="navigation-tabbed"> 
465                                <div class="nav-tabs-div"> 
466                                    <ul class="nav-tabs-ul-clear nav nav-tabs navbar-right pull-right"> 
467                                        <li role="presentation" class="active"> 
468                                            <a href="#vista-listado" role="tab" data-toggle="tab"><span class="glyphicon glyphicon-th-list"></span></a> 
469                                        </li> 
470                                        <li role="presentation"> 
471                                            <a href="#vista-mapa" role="tab" data-toggle="tab"><span class="glyphicon glyphicon-map-marker"></span></a> 
472                                        </li> 
473                                    </ul> 
474                                </div> 
475                            </div> 
476                        </div> 
477                        <div class="col-xs-16 col-sm-10 col-lg-11 col-sm-pull-3 col-lg-pull-2 contenedorPills">    
478                            <ul class="nav nav-pills selector-orden" role="tablist"> 
479                                <li role="presentation" <#if orderBy == "valoradas">class="active"</#if>><a href="?orderBy=valoradas"><@liferay.language key="portalweb.templates.global.masValoradas" /></a></li> 
480                                <li role="presentation" <#if orderBy == "recomendadas">class="active"</#if>><a href="?orderBy=recomendadas"><@liferay.language key="portalweb.templates.global.recomendadas" /></a></li> 
481                                <li role="presentation" <#if orderBy == "estacion">class="active"</#if>><a href="?orderBy=estacion"><@liferay.language key="portalweb.templates.global.porEstacion" /></a></li> 
482                                <li role="presentation" <#if orderBy == "title">class="active"</#if>><a href="?orderBy=title"><@liferay.language key="portalweb.templates.global.alfabeticamente" /></a></li> 
483                            </ul> 
484                        </div> 
485                    </div> 
486                </div> 
487            </div> 
488             
489            <#-- Experiencias --> 
490            <div class="tab-content"> 
491                <div id="vista-listado" role="tabpanel" role="tabpanel" class="tab-pane fade in active"> 
492                    <div id="experienciasBuscListContenedor" class="row"> 
493                        <#assign seccion = "experienciasSeccion" /> 
494                        <div class="col-sm-14 col-sm-offset-1 ${seccion}"> 
495                           <div class="row pad-bottom-col pad-top-m"> 
496                                <div class="col-sm-16"> 
497                                    <@smartMacros.listaExperiencias 
498                                        experiencias=experiencias /> 
499                                </div> 
500                            </div> 
501                        </div> 
502                        <@smart.paginador seccion="${seccion}" ruta="planificate/que-hacer" nombrePaginador="pageExperiencias" params="${paramsEx}" paginaActual="${paginaActualEx}" totalElementos="${totalElementosExp}" elementosPorPagina="${elementosPorPagina}" ultimaPagina="${ultimaPagina}" /> 
503                        <@smart.paginadorJS seccion="${seccion}" /> 
504                    </div> 
505                </div> 
506                <div role="tabpanel" class="tab-pane fade" id="vista-mapa"> 
507                    <div class="row"> 
508                        <div class="col-sm-16"> 
509                            <div id="contMapBuscaExp"> 
510                                 
511                            </div> 
512                        </div> 
513                    </div> 
514                </div> 
515            </div> 
516        </div> 
517    </div> 
518</div> 
519 
520<#-- Listado para mapa --> 
521<div style="display: none;"> 
522    <#list experienciasAll as entry> 
523        <#-- Se recuperan los datos del contenido en el idioma actual --> 
524        <#assign journalArticle = journalArticleLocalService.getLatestArticle(entry.classPK)> 
525        <#assign content = journalArticle.getContentByLocale(locale)> 
526        <#assign docRelacionado = saxReaderUtil.read(content)> 
527        <#-- Se recupera el identificador --> 
528        <#assign idExperiencia = (journalArticle.articleId)!"0" /> 
529        <#assign position_x = (docRelacionado.selectSingleNode("//*/dynamic-element[@name='longitud']/dynamic-content").getText())!"0"> 
530        <#assign position_y = (docRelacionado.selectSingleNode("//*/dynamic-element[@name='latitud']/dynamic-content").getText())!"0"> 
531        <#escape x as x?html> 
532            <#assign title = (entry.getTitle(locale))!"" /> 
533            <#assign description = (docRelacionado.selectSingleNode("//*/dynamic-element[@name='entradilla']/dynamic-content").getText())!""> 
534        </#escape> 
535        <#assign background_image_peq = (doc.selectSingleNode("//*/dynamic-element[@name='Icono-peq']/dynamic-content").getText())!""> 
536        <#if background_image_peq==""> 
537            <#assign background_image_peq = (doc.selectSingleNode("//*/dynamic-element[@name='Galeria']/dynamic-content").getText())!""> 
538        </#if> 
539         
540        <span class="datos-experiencia_${entry_index}" 
541            <#escape x as x?html> 
542                  data-marker-id="${idExperiencia}" 
543                  data-marker-position-x="${position_x}" 
544                  data-marker-position-y="${position_y}" 
545                  data-marker-name="${title}" 
546                  data-marker-description="${description}" 
547                  data-marker-category="" 
548                  data-marker-icon="" 
549                  data-marker-img="${background_image_peq}"> 
550            </#escape> 
551         </span> 
552    </#list> 
553</div> 
554 
555<script type="text/javascript"> 
556    // Filtrado por categorias recibido 
557    var filtroCategorias="${filtroCatMacro}"; 
558 
559    function redimensionarEventos() { 
560        Smart.Util.equalHeightsByRes('.alto-comun-', [Smart.Util.media.SM,Smart.Util.media.LG], Smart.Util.condiciones.comparaciones.EMPIECE); 
561        Smart.Util.equalHeightsByRes('.columna-resultados', [Smart.Util.media.LG], Smart.Util.condiciones.comparaciones.SEAIGUAL); 
562
563     
564    /** 
565     * Cambia la vista del tab a la del mapa, con 
566     * rllabarta - 2014/11/14 
567     */ 
568    function mostrarMapa(selectorDiv, etiquetaMapa) { 
569        if (!window.mapBRecController) { 
570            // Se carga el controlador del mapa 
571            window.mapBRecController = new MapController(selectorDiv, etiquetaMapa, "${themeDisplay.siteGroup.friendlyURL}"); 
572            jQuery('#' + etiquetaMapa).on('map-init-' + etiquetaMapa, function(){ 
573                //actualizarDatosMapa(etiquetaMapa); 
574            }); 
575             
576        } else { 
577            //actualizarDatosMapa(etiquetaMapa); 
578        }    
579
580     
581    /* Realiza el guardado en el CRM de la segmentacion  
582     * rllabarta 2015/01/20 
583     */ 
584    function guardaSegmentacionCRM(e) { 
585        e.preventDefault(); 
586        // Se recupera la url a la que invocar para el guardado de perfiles 
587        urlGuardado=jQuery(this).attr('href'); 
588        var params = urlGuardado.split('?')[1]; 
589        showLoading(); 
590        // Se invoca a la url para que se realice el guardado 
591        jQuery.get(urlGuardado, params, function(data, textStatus){ 
592            hideLoading(); 
593            // Se comprueba si se recibe respuesta 
594            if ("sucess" === textStatus) { 
595                // Se recupera el texto recuperado y se muestra en un tooltip sobre el boton  
596                console.log("Se ha recibido respuesta del guardado: %o ",data); 
597            } else { 
598                // mostrar mensaje de error 
599                console.error("No se ha recibido respuesta del guardado de "); 
600
601        }); 
602     
603
604     
605    function initListeners(){ 
606        jQuery('#guardaSegmentacion').on("click", guardaSegmentacionCRM); 
607         
608        jQuery('.grupo-icono-segmentacion input').on("click", Smart.Segmentacion.filtroSegmentacionChangedHandler); 
609         
610        /** 
611         * Document events 
612         */ 
613        jQuery(document).ready(function(){ 
614            if (jQuery("#agenda").css("display") != "none") { 
615                setTimeout("redimensionarEventos();",200); 
616
617            $('#lugar').select2(); 
618        }); 
619         
620        jQuery(document).on("paginador", function(){ 
621            setTimeout("redimensionarEventos();",200); 
622            if (Smart) { 
623                Smart.removeEqualDestacados(); 
624                Smart.updateRender(); 
625
626        }); 
627         
628        /** 
629         * Datepicker fechas 
630         */ 
631        var confDatepickerFechaDesde = {  
632            language: "${locale.language}", 
633            weekStart: 1 
634        }; 
635        Smart.Components.cargaDatepicker('#fechaDesde', confDatepickerFechaDesde); 
636        var confDatepickerFechaHasta = {  
637            language: "${locale.language}", 
638            weekStart: 1, 
639            startDate: jQuery('#fechaDesde').val() 
640        }; 
641        Smart.Components.cargaDatepicker('#fechaHasta', confDatepickerFechaHasta); 
642         
643        /** 
644         * Tab events 
645         */ 
646        jQuery('a[data-toggle="tab"]').on('shown.bs.tab',  function() { 
647            setTimeout("redimensionarEventos();",200); 
648            Smart.Components.initLazyLoad('img.lazy'); 
649             
650            if ("#vista-mapa" == jQuery(this).attr('href')) { 
651                // Se muestra el mapa 
652                mostrarMapa('contMapBuscaExp', 'mapBuscaExp'); 
653                 
654                // Se muestra el mensaje del mapa 
655                jQuery('.contenedorOrderBy').hide(); 
656                jQuery('.contenedorPills').hide(); 
657                jQuery('.contenedorMuestra').removeClass('col-xs-6'); 
658                jQuery('.contenedorMuestra').addClass('col-xs-3'); 
659                jQuery('.contenedorMuestra').removeClass('col-sm-push-10'); 
660                jQuery('.contenedorMuestra').removeClass('col-lg-push-11'); 
661                jQuery('.contenedorMuestra').addClass('col-lg-push-1'); 
662                jQuery('.contenedorElemMapa').show(); 
663                jQuery('.contenedorOrd').removeClass('pad-top-m'); 
664                jQuery('.contenedorOrd').addClass('pad-top-xs'); 
665                jQuery('.contenedorMuestra').addClass('pad-top-xs'); 
666                 
667                // Se cargan sus marcadores 
668                jQuery('#mapBuscaExp').on("map-init-mapBuscaExp", function(){ 
669                    mapBRecController.cargaMarcadoresDesdeNodos("[class^='datos-experiencia_']"); 
670                }); 
671            } else { 
672                if (Smart) { 
673                    Smart.removeEqualDestacados(); 
674                    Smart.updateRender(); 
675
676                // Se muestra el div de ordenado 
677                jQuery('.contenedorElemMapa').hide(); 
678                jQuery('.contenedorPills').show(); 
679                jQuery('.contenedorOrderBy').show(); 
680                jQuery('.contenedorMuestra').removeClass('col-xs-3'); 
681                jQuery('.contenedorMuestra').addClass('col-xs-6'); 
682                jQuery('.contenedorMuestra').addClass('col-sm-push-10'); 
683                jQuery('.contenedorMuestra').removeClass('col-lg-push-1'); 
684                jQuery('.contenedorMuestra').addClass('col-lg-push-11'); 
685                jQuery('.contenedorOrd').addClass('pad-top-m'); 
686                jQuery('.contenedorOrd').removeClass('pad-top-xs'); 
687                jQuery('.contenedorMuestra').removeClass('pad-top-xs'); 
688
689        }); 
690
691     
692    function cargarMarcadoresMapa(mapElementId, dataContainerSelector) { 
693        jQuery(dataContainerSelector).each(function() { 
694            crearMarcadorMapa(mapElementId, jQuery(this)); 
695        }); 
696         
697        renderMap(mapElementId); 
698
699     
700    function crearMarcadorMapa(mapElementId, dataContainer) { 
701        // Se genera un elemento marcador 
702        var markerLat = dataContainer.attr("data-marker-position-y"); 
703        var markerLong = dataContainer.attr("data-marker-position-x"); 
704        // Se comprueba  que sean corrdenadas validas 
705        if ((markerLat != 0 && markerLong != 0)  
706                && (null != markerLat && null != markerLong) 
707                && ('null' != markerLat && 'null' != markerLong)){             
708            var markerMapElement = mapElementId; 
709            var markerElementId = dataContainer.attr("data-marker-id"); 
710            var markerName = dataContainer.attr("data-marker-name"); 
711            var markerDescripton = dataContainer.attr("data-marker-description"); 
712            var markerCategory = dataContainer.attr("data-marker-category"); 
713            var markerIcon = dataContainer.attr("data-marker-icon"); 
714            var markerImg = dataContainer.attr("data-marker-img"); 
715            if (window.createMarker){ 
716                createMarker(markerMapElement, markerElementId, markerLat, markerLong, markerName, markerDescripton, markerCategory, markerIcon, markerImg, MapMarkerType.EXPERIENCE_SEARCH_RESULT); 
717
718
719
720     
721    /* Inicializacion pagina  
722     * rllabarta 2015/01/20 
723     */ 
724    function initBuscadorRecursos() { 
725        // Se inicializan los listeners 
726        initListeners(); 
727         
728        // Se actualizan las cookies si es necesario 
729        if ("" != filtroCategorias) { 
730            // Borrar cookies 
731            Smart.Segmentacion.clearAllSelectedFilterCookies(); 
732            // Establecer las nuevas cookies 
733            Smart.Segmentacion.setCookie(Smart.Segmentacion.FILTER_COOKIE_NAME, filtroCategorias); 
734
735
736     
737     
738    initBuscadorRecursos(); 
739</script> 

Turista Segmentacion

Te Puede Interesar Te Puede Interesar

Reserva Destacada Portlet Reserva Destacada Portlet

Reserva Destacada Portlet Reserva Destacada Portlet

Reserva Destacada Portlet Reserva Destacada Portlet