Errorea gertatu da txantiloia prozesatzerakoan.
Java method "com.sun.proxy.$Proxy52.getVocabulary(long)" threw an exception when invoked on com.sun.proxy.$Proxy52 object "com.liferay.portlet.asset.service.impl.AssetVocabularyLocalServiceImpl@25c67d42"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign assetsAmbito = assetVocabular... [in template "85213932#85213972#85224821" at line 2, column 1]
----
1<#assign assetVocabularyLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")>
2<#assign assetsAmbito = assetVocabularyLocalServiceUtil.getVocabulary(1372288) />
3<#assign assetsCate = assetVocabularyLocalServiceUtil.getVocabulary(1371009 ) />
4
5<#assign ningun_resultado = 'Ez da emaitzarik izan bilaketarako.<br>Saiatu berriro beste bilaketa-parametro batzuekin.' />
6<#assign ningun_resultado_search = 'Ez da emaitzarik izan <strong><span id="searchKey" class="searchKey"></span></strong> bilaketarako.<br>Saiatu berriro beste bilaketa-parametro batzuekin.' />
7<#assign ningun_resultado_title = "Emaitzarik ez" />
8<#assign paginacion = '<span id="delta_start">1</span> - <span id="delta_end">9</span> erakusten <span id="total">${entries?size}</span> emaitzetatik.' />
9<#assign next = "Hurrengoa" />
10<#assign previous = "Aurrekoa" />
11<#assign titulo = "Ezagutu bertatik bertara <strong>Merkatuan Prest topaketan</strong> aurkeztuko diren enpresak, produktuak eta zerbitzuak." />
12<#assign txtBuscar = "Bilatu" />
13<#assign txtResultados = "emaitza" />
14<#assign txtAmbito = "Jarduketa-esparrua" />
15<#assign txtCate = "Kategoriak" />
16<#assign txtPlaceHolder = "Zer bilatu nahi duzu?" />
17
18
19
20<#if locale == 'es_ES'>
21 <#assign ningun_resultado = 'No ha habido ningún resultado para su búsqueda.<br />Vuelva a intentarlo con otros parámetros de búsqueda.' />
22 <#assign ningun_resultado_search = 'No ha habido ningún resultado para la búsqueda de <strong><span id="searchKey" class="searchKey"></span></strong>.<br> Vuelva a intentarlo con otros parámetros de búsqueda.' />
23 <#assign ningun_resultado_title = "Ningún resultado" /><#assign paginacion = 'Mostrando el intervalo <span id="delta_start">1</span> - <span id="delta_end">9</span> de <span id="total">${entries?size}</span> resultados.' />
24 <#assign next = "Siguiente" />
25 <#assign previous = "Anterior" />
26
27 <#assign titulo = "Conoce las diferentes empresas, productos y servicios que se presentarán en el <strong>Encuentro Merkatuan Prest.</strong>" />
28 <#assign txtBuscar = "Buscar" />
29 <#assign txtResultados = "resultados" />
30 <#assign txtAmbito = "Ambito de actuación" />
31 <#assign txtCate = "Categorías" />
32 <#assign txtPlaceHolder = "¿Qué quieres buscar?" />
33</#if>
34
35
36<div class="container-fluid container-fluid-max-xl mt-2">
37 <div class="container">
38 <div class="row">
39 <div class="col-12">
40 <div class="text-title text-center gtm-max-md">
41 ${titulo}
42 </div>
43
44 </div>
45 </div>
46 <div class="empty40"></div>
47</div>
48
49<div class="container">
50 <div class="row">
51 <div class="col-md-12">
52 <div class="form-group input-text-wrapper">
53 <label class="control-label d-none" for="search-input">
54 ${txtBuscar}
55 </label>
56 <input class="field form-control" id="search-input" title="Buscar" name="search-input" placeholder="${txtPlaceHolder}" type="text" value="">
57 </div>
58 <div class="empty40"></div>
59 </div>
60 </div>
61</div>
62
63
64</div>
65
66
67<div class="gtm-zerbiztuak-grid">
68 <div class="container">
69
70 <div class="row">
71 <div class="col-12 col-md-4 col-lg-3">
72 <div class="d-md-none sia-aside-header d-flex justify-content-between align-items-center">
73 <div class="sia-aside-header__title">Iragazi</div>
74 </div>
75
76 <div class="sia-aside">
77 <div class="d-md-none sia-aside-header d-flex justify-content-between align-items-center">
78 <div class="sia-aside-header__title">Iragazi</div>
79
80 <div class="sia-aside-header__close"> </div>
81 </div>
82
83 <div class="tematicaCategories">
84 <h3 class="sia-text-primary text-uppercase">${txtAmbito}</h3>
85
86 <div>
87 <#list assetsAmbito.getCategories() as ambito>
88 <div class="checkbox my-4"><label><input name="ambito" type="checkbox" value="${ambito.getCategoryId()}" /> ${ambito.getTitle(locale)} </label></div>
89 </#list>
90 </div>
91 </div>
92
93 <div class="tematicaCategories">
94 <h3 class="sia-text-primary text-uppercase">${txtCate}</h3>
95
96 <div>
97 <#list assetsCate.getCategories() as cate>
98 <#assign txt = cate.getTitle(locale)/>
99 <div class="checkbox my-4"><label><input name="categoria" type="checkbox" value="${cate.getCategoryId()}" /> ${txt[4..]} </label></div>
100 </#list>
101 </div>
102 </div>
103 </div>
104 <script>
105 var closeFilter = document.querySelector('.sia-aside-header__close');
106
107 if (closeFilter) {
108 closeFilter.addEventListener('click', function() {
109 var asideSia = document.querySelector('.sia-aside');
110 asideSia.classList.remove('active');
111 });
112 }
113
114 var triggerFilter = document.querySelectorAll('.sia-aside-header__title');
115
116 if (triggerFilter.length > 0) {
117 Array.prototype.forEach.call(triggerFilter, function(e) {
118 e.addEventListener('click', function() {
119 var asideSia = document.querySelector('.sia-aside');
120 asideSia.classList.toggle('active');
121 });
122 });
123 }
124 </script>
125 </div>
126
127 <div class="col-12 col-md-8 col-lg-9" id="pagination">
128 <div class="row">
129 <div class="col-md-12 sia-filtros">
130 <div class="results-count">
131 <span id="results-count">${entries?size}</span> ${txtResultados}
132 </div>
133 <div id="container-filtros"></div>
134 </div>
135 </div>
136 <div class="row">
137 <div id="no-result"
138 class="text-center col-12 sec-content resul-empty no-result" style="display:none;">
139 <div class="box-content">
140 <div class="box-icon"> </div>
141 <div class="box-text">
142 <h2 class="sec-title">${ningun_resultado_title}</h2>
143 <p class="sec-descrip">${ningun_resultado_search}</p>
144 </div>
145 </div>
146 </div>
147
148 <#if entries?has_content>
149 <#list entries as curEntry>
150 <div class="col-12 col-lg-6 mb-4 card-merkatuan-prest">
151 <#assign
152 assetRenderer = curEntry.getAssetRenderer()
153 journalArticle = assetRenderer.getAssetObject()
154 />
155 <@liferay_journal["journal-article"]
156 articleId=journalArticle.getArticleId()
157 ddmTemplateKey="1372215"
158 groupId=journalArticle.getGroupId()
159 />
160 </div>
161 </#list>
162 </#if>
163 </div>
164 </div>
165 </div>
166 </div>
167</div>
168
169<!-- <a href="#" id="prev">prev</a>
170<a href="#" id="next">next</a> -->
171<div id="capaPaginador" class="pagination"></div>
172
173<script src="https://cdnjs.cloudflare.com/ajax/libs/simplePagination.js/1.6/jquery.simplePagination.js"></script>
174
175<style>
176.hideFicha{
177 display : none;
178}
179.showFicha{
180 display : inline;
181}
182</style>
183
184<script>
185 //Poner title en cabecera
186 var titleCabecera = "Produktuak eta zerbitzuak";
187 <#if locale == "es_ES">
188 titleCabecera = "Productos y servicios";
189 </#if>
190 $(".gtm-header__title").html("<h3>" + titleCabecera + "</h3>");
191
192 var chks = $(".checkbox"); //ponemos los 3.x sangria
193 var txtChk = chks[4].textContent;
194 chks[4].innerHTML = txtChk;
195 chks[4].style = "padding-left:20px !important";
196
197 for(var i = 5; i < 9; i++){
198 chks[i].classList.add("ml-5");
199 chks[i].classList.remove("my-4");
200 }
201
202 var items = $(".card-merkatuan-prest");
203 var numItems = items.length;
204 var max = 1;
205 var pageNum=0;
206 //var _=$('#rows .row');
207
208 var start = 2;
209 var itemsPer = 4;
210
211 $(document).ready(function() {
212 //limpiar campos al recargar
213 $("#search-input").val("");
214 $("input[type=checkbox]").prop("checked", false);
215
216 //recortar todos las descripciones a n max
217 var allDescr = $(".gtm-zerbitzuak__description");
218 var txt = "";
219 var maximo = 150; //caracteres maximo
220 var max = maximo, posSpace = -1;
221 for(var i = 0; i < allDescr.length; i++){
222 max = maximo;
223 if(allDescr[i].innerHTML.length > max){
224 if(allDescr[i].innerHTML.substring(max - 1,max) != " "){
225 max = allDescr[i].innerHTML.indexOf(" ", max);
226 }
227 }
228
229 txt = allDescr[i].innerHTML.substring(0,max) + ' ... <span class="d-none">' + allDescr[i].innerHTML.substring(max + 1) + "</span>";
230 allDescr[i].innerHTML = txt;
231 }
232
233 getCondiciones();
234
235 /*$("#capaPaginador").pagination({
236 items: numItems - start,
237 itemsOnPage: itemsPer,
238 cssStyle: 'light-theme',
239 onPageClick : function(pageNumber){
240 $(".card-merkatuan-prest.showFicha").hide();
241 var _start = 1 , _end = 1;
242 _end = pageNumber * itemsPer;
243 _start = _end - itemsPer;
244
245 $(".card-merkatuan-prest.showFicha").slice(_start, _end).show();
246
247 }
248 });
249 $(".card-merkatuan-prest").hide();
250 $(".card-merkatuan-prest").slice(0,itemsPer).show();*/
251
252 $('html, body').animate({ scrollTop: $("#search-input").offset().top - 1000}, 10);
253 });
254
255
256 $("#search-input").on("keyup", function(){
257 getCondiciones();
258 });
259
260 var options = {
261 searchInput: document.getElementById('search-input'),
262 }
263 var data;
264 document.addEventListener("DOMContentLoaded", function(event) {
265 init();
266 });
267
268
269 var total=0;
270 function init() {
271 data=document.querySelectorAll(".card-merkatuan-prest");
272 total=data.length;
273 //registerInput()
274 }
275
276var arrCondiciones = [];
277
278$('input[name="categoria"]').click(function(e) {
279 getCondiciones();
280
281});
282
283$('input[name="ambito"]').click(function(e) {
284 getCondiciones();
285});
286
287function getCondiciones(){
288 $(".card-merkatuan-prest").hide();
289 $("#no-result").hide();
290
291 var allChecksAmbito = $('input[name="ambito"]:checked');
292 var allChecksCate = $('input[name="categoria"]:checked');
293 var arrCond = [];
294 var numItemsVisible = 0;
295 var isNothingCompare = false;
296 if(allChecksAmbito.length == 0 && allChecksCate.length == 0 && options.searchInput == ""){
297 isNothingCompare = true;
298 }
299 if(allChecksCate.length > 0){
300 for(var i = 0; i < allChecksCate.length; i++) arrCond.push(allChecksCate[i].value);
301 }
302 if(allChecksAmbito.length > 0){
303 for(var i = 0; i < allChecksAmbito.length; i++) arrCond.push(allChecksAmbito[i].value);
304 }
305 if(options.searchInput.value.trim() != "" ){
306 arrCond.push("txt:" + options.searchInput.value);
307 }
308
309
310 var all = $(".gtm-zerbitzuak-item"); // el item dentro de la ficha con los data-XXX
311 var isCumple = false;
312 var numCond = arrCond.length;
313
314 for(var i = 0; i < all.length; i++){
315 all[i].parentNode.parentNode.classList.remove("showFicha");
316 all[i].parentNode.parentNode.classList.remove("hideFicha");
317 all[i].parentNode.parentNode.style.display = "";
318 for(var x = 0; x < arrCond.length; x++){
319 if(isNothingCompare){ //no hay checks seleccionados, muestra todo;
320 numCond = 0;
321 break;
322 }else if(all[i].getAttribute("data-ambito").indexOf("#" + arrCond[x] + "#") != -1
323 || all[i].getAttribute("data-categoria").indexOf("#" + arrCond[x] + "#") != -1){
324 numCond--;
325 }
326 }
327
328 if(options.searchInput.value.trim() != ""){ //tiene texto
329 let title_text = all[i].textContent;
330 let desc_text = all[i].textContent;
331 let author_text = all[i].textContent;
332 if (match(title_text, options.searchInput.value) || match(desc_text, options.searchInput.value) || match(author_text, options.searchInput.value)) {
333 numCond--;
334 }
335 }
336
337 if(numCond == 0){ //cumple con todo
338 all[i].parentNode.parentNode.classList.add("showFicha");
339 numItemsVisible++;
340 }else{
341 all[i].parentNode.parentNode.classList.add("hideFicha");
342 }
343 numCond = arrCond.length;
344 }
345
346 var dd = document.querySelectorAll(".card-merkatuan-prest:not(.hide)");
347 $("#results-count").html(numItemsVisible);
348
349 if(numItemsVisible == 0) $("#no-result").show();
350
351 $("#capaPaginador").pagination({
352 items: numItemsVisible,
353 itemsOnPage: itemsPer,
354 cssStyle: 'light-theme',
355 prevText : '<',
356 nextText: '>',
357 onPageClick : function(pageNumber){
358 $(".card-merkatuan-prest.showFicha").hide();
359 var _start = 1 , _end = 1;
360 _end = pageNumber * itemsPer;
361 _start = _end - itemsPer;
362
363 $(".card-merkatuan-prest.showFicha").slice(_start, _end).show();
364
365 $('html, body').animate({ scrollTop: $("#search-input").offset().top - 200}, 500);
366
367
368 }
369 });
370 $(".card-merkatuan-prest.showFicha").slice(itemsPer,numItemsVisible).hide();
371
372
373
374}
375
376
377
378
379function match(str, crit) {
380 if (!str) return false
381 str = cleanCharacters(str);
382 crit = cleanCharacters(crit);
383
384 //return (str.indexOf(crit) != -1) ? true : false;
385
386
387 return crit.split(' ').filter(function (word) {
388 return str.indexOf(word) >= 0
389 }).length === crit.split(' ').length;
390}
391
392
393function cleanCharacters(_txt){
394 _txt = _txt.trim().toLowerCase();
395 return _txt.replaceAll("í","i").replaceAll("á","a").replaceAll("é","e").replaceAll("ó","o").replaceAll("ú","u");
396}
397
398/*function registerInput () {
399 options.searchInput.addEventListener('keyup', function (e) {
400 getCondiciones();
401 })
402}*/
403
404function filter(evt) {
405 findMatches(options.searchInput.value);
406}
407
408
409
410
411</script>