Pensado para tí
Recomendámosche experiencias, recursos e plans que se axustan ás túas necesidades.
Produciuse un erro ao procesar o modelo.
Expression layout.getExpandoBridge().getAttribute("max-height") is undefined on line 7, column 33 in 10154#10194#29202.
1<#assign liferayUi = taglibLiferayHash["/WEB-INF/tld/liferay-ui.tld"]/>
2<#assign liferayPortlet = taglibLiferayHash["/WEB-INF/tld/liferay-portlet.tld"]/>
3<#assign smart = taglibLiferayHash["/WEB-INF/tld/smart.tld"]/>
4
5<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetEntryLocalService")>
6
7<#assign maxHeight = "maxh_" + layout.getExpandoBridge().getAttribute("max-height")>
8<#assign minHeight = "minh_" + layout.getExpandoBridge().getAttribute("min-height")>
9<#assign LayoutLocalService = serviceLocator.findService("com.liferay.portal.service.LayoutLocalService")>
10<#assign layoutUrl = LayoutLocalService.getFriendlyURLLayout(layout.getGroup().getGroupId(), layout.isPrivateLayout(), "/experiencias-recomendadas")>
11<#assign url = layoutUrl.getRegularURL(request)>
12<#assign layoutUrlInicio = LayoutLocalService.getFriendlyURLLayout(layout.getGroup().getGroupId(), layout.isPrivateLayout(), "/inicio")>
13<#assign urlInicio = layoutUrlInicio.getRegularURL(request)>
14<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")>
15<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetCategoryLocalService")>
16
17<#assign originalRequest = portalUtil.getOriginalServletRequest(portalUtil.getHttpServletRequest(renderRequest))>
18
19<#assign resultadosPagina=6>
20<#assign contador=0>
21<#assign defaultFilter = "#CTYPEID:11232#CNAMEID:10109#NUMRES:${resultadosPagina}#PAG:0">
22<#assign filtroListado = (originalRequest.getParameter("filtro"))!defaultFilter>
23
24<#--FRIENDLY URLS-->
25<#assign layoutExperiencias = LayoutLocalService.getFriendlyURLLayout(layout.getGroup().getGroupId(), layout.isPrivateLayout(), "/experiencias")>
26<#assign layoutExpRecomendadas = LayoutLocalService.getFriendlyURLLayout(layout.getGroup().getGroupId(), layout.isPrivateLayout(), "/experiencias-recomendadas")>
27<#assign layoutExpPanel1 = LayoutLocalService.getFriendlyURLLayout(layout.getGroup().getGroupId(), layout.isPrivateLayout(), "/experienciaspanel1")>
28
29<#assign urlExperiencias = layoutExperiencias.getFriendlyURL(locale)>
30<#assign urlExpRecomendadas = layoutExpRecomendadas.getFriendlyURL(locale)>
31<#assign urlExpPanel1 = layoutExpPanel1.getRegularURL(request)>
32
33
34<@smart["filtradopublicador"] filtro=filtroListado />
35
36<div class="row-fluid">
37 <div class="span12 title">
38 <h2>
39 <@liferayUi["message"] key="portalweb.templates.listadoExperiencias.experiencias" />
40 </h2>
41 </div>
42</div>
43
44<div id="listadoExperienciasWrapp">
45 <div id="listadoExperienciasAjax">
46 <div class="row-fluid" id="vista-listado">
47 <div class="span12 clearfix">
48 <div class="row-fluid">
49 <div class="listadoRecursos" id="listadoRecursos">
50 <#if entries?has_content>
51 <#list entries as curEntry>
52 <#assign urlFormada = urlExpPanel1 + "?content=" + curEntry.getClassPK()>
53 <#assign journalArticle = journalArticleLocalService.getLatestArticle(curEntry.getClassPK())>
54 <#assign content = journalArticle.getContentByLocale(locale)>
55 <#assign doc = saxReaderUtil.read(content)>
56
57 <#if contador%2==0 >
58 <div class="row-fluid row-gutter-bottom">
59 </#if>
60 <#assign position_x = (doc.selectSingleNode("//*/dynamic-element[@name='Coordenada_X']/dynamic-content").getText())!"0">
61 <#assign position_y = (doc.selectSingleNode("//*/dynamic-element[@name='Coordenada_Y']/dynamic-content").getText())!"0">
62 <#assign title = (doc.selectSingleNode("//*/dynamic-element[@name='Titulo']/dynamic-content").getText())!"">
63 <#assign tituloSugerente = (doc.selectSingleNode("//*/dynamic-element[@name='Titulo_sugerente']/dynamic-content").getText())!"">
64 <#assign razones = (doc.selectSingleNode("//*/dynamic-element[@name='Razones']/dynamic-content").getText())!"">
65
66 <#assign background_image = (doc.selectSingleNode("//*/dynamic-element[@name='Icono-apaisado']/dynamic-content").getText())!"">
67 <#if background_image="">
68 <#assign background_image = (doc.selectSingleNode("//*/dynamic-element[@name='Galeria']/dynamic-content").getText())!"">
69 </#if>
70
71
72 <div class="span6 elemento-experiencia"
73 data-marker-id="${curEntry.getClassPK()}"
74 data-marker-position-x="${position_x}"
75 data-marker-position-y="${position_y}"
76 data-marker-name="${title}"
77 data-marker-description="${tituloSugerente}"
78 data-marker-category=""
79 data-marker-icon=""
80 data-marker-img="">
81 <div id="expCont_${curEntry.getClassPK()}" class="image-link height-medium" style="background-image: url('${background_image}');">
82 <div class="bottom">
83 <div class="link-text">
84 <#assign pk= "" + curEntry.getClassPK() >
85 <#assign groupId= "" + layout.getGroup().getGroupId() >
86 <a href="${urlFormada}" class="verDetalleExperiencia">
87 <h2>${title}</h2>
88 </a>
89 </div>
90 <#if razones != "">
91 <span class="textoOculto">
92 ${razones}
93 </span>
94 </#if>
95 </div>
96 </div>
97 </div>
98 <#assign contador = contador + 1>
99 <#if contador%2==0 >
100 </div>
101 </#if>
102 </#list>
103 </#if>
104
105 </div>
106 </div>
107
108 </div>
109 </div>
110 </div>
111</div>
112
113
114<script type="text/javascript">
115
116 <@liferayPortlet["renderURL"] windowState="exclusive" var="urlAjaxExp" />
117
118 function recargaExperiencias(data, currentView){
119 if(typeof data != "undefined"){
120 jQuery("#listadoRecursos").replaceWith(jQuery(data).find("#listadoRecursos"));
121 }
122 }
123
124 var currentView="vista-listado";
125 var contadorIteraciones = 0;
126 var intervalo;
127 if (window.getSelectedFiltersByCategoryPath){
128 experienciasFiltradas();
129 } else {
130 intervalo = setInterval(function (){compruebaCargaApiSegmentacion()}, 1000);
131 }
132
133 function experienciasFiltradas(){
134
135
136 // Se recuperan los filtros para la categoria donde
137 var donde = getSelectedFiltersByCategoryPath("donde");
138 // Se recuperan los filtros para la categoria cuandp
139 var cuando = getSelectedFiltersByCategoryPath("cuando");
140 // Se recuperan los filtros para la categoria para
141 var para = getSelectedFiltersByCategoryPath("para");
142
143
144 filtro = "${defaultFilter}#CAT:" + para + cuando + donde;
145 console.log("FILTROEXPERIENCIAS:"+ filtro);
146 jQuery.post("${urlAjaxExp}",{filtro:filtro},function(data,textStatus){
147 if(textStatus=='success'){
148 recargaExperiencias(data, currentView);
149 }
150 });
151 }
152
153 function compruebaCargaApiSegmentacion(){
154 contadorIteraciones++;
155 if (6 < contadorIteraciones) {
156 console.log("superado el máximo de iteraciones, se elimina el intervalo");
157 clearInterval(intervalo);
158 } else {
159 console.log("Se comprueba si la api esta cargada, iteracion: " + contadorIteraciones);
160 if (window.getSelectedFiltersByCategoryPath){
161 console.log("la api esta cargada, se elimina el intervalo")
162 clearInterval(intervalo);
163 experienciasFiltradas();
164 } else {
165 console.log("La api no esta cargada");
166 }
167 }
168 }
169
170
171</script>
recursos atopados
Obtendo recursos