Arte Valladolid
Se ha producido un error al procesar la plantilla.
Error: on line 254, column 39 in 10154#10194#619696 Expecting a number here, found: 1023745%252C1023747%252C
1<style>
2
3 #navegador-arte{
4 background-color: white;
5 border: 2px solid #C53BA6;
6 border-radius: 10px 10px 0 0;
7 padding:0;
8 }
9
10 #navegador-arte #main-cont-title{
11 position: relative;
12 padding: 0 10px;
13 font-size: 1em;
14 background-color: #C53BA6;
15 color: white;
16 text-align: center;
17 border-radius: 5px 5px 0 0;
18 font-weight: bold;
19 }
20
21 #navegador-arte .multi-cat-advice{
22 display: block;
23 font-size: 0.8em;
24 }
25
26 #navegador-arte .voc-title {
27 padding: 5px;
28 background-color: #E6E6E6;
29 color: #C53BA6;
30 border-radius: 0 10px 0 10px;
31 font-weight: bold;
32 border-bottom: 3px solid #C53BA6;
33 width: auto;
34 }
35
36 #navegador-arte .vocabulary-cont{
37 margin: 15px 5px;
38 border-bottom: 1px solid white;
39 border-radius: 0 11px 0 0;
40 box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.19);
41 }
42
43 #navegador-arte .vocabulary-cont ul {
44 display: block;
45 list-style-type: none;
46 margin: 15px 5px 15px 20px;
47 font-family: Arial Narrow,Arial,Helvetica CE,Helvetica LT;
48 }
49
50 #navegador-arte .vocabulary-cont li{
51 list-style-type:none;
52 margin-bottom: 2px;
53 margin-left: 0;
54 margin-right: 0;
55 }
56
57 #navegador-arte li.main-cat {
58 position:relative;
59 }
60
61 #navegador-arte li.main-cat a{
62 display:block;
63 list-style-type: none;
64 color: #C53BA6;
65 font-weight: bold;
66 }
67
68 #navegador-arte li.main-cat a:link,
69 #navegador-arte li.main-cat a:visited,
70 #navegador-arte li.main-cat a:hover,
71 #navegador-arte li.main-cat a:active {
72 color: #C53BA6;
73 text-decoration: none;
74 }
75
76 #navegador-arte ul.inner-cats{
77 display:none;
78 position:relative;
79 margin:0 0 0 25px;
80 }
81
82 #navegador-arte ul.inner-cats a{
83 color: black;
84 padding: 0px 5px;
85 display: block;
86 }
87
88 #navegador-arte ul.inner-cats a:link,
89 #navegador-arte ul.inner-cats a:visited{
90 color: black;
91 text-decoration: none;
92 }
93
94 #navegador-arte ul.inner-cats a:hover,
95 #navegador-arte ul.inner-cats a:active{
96 color: #C53BA6;
97 text-decoration: none;
98 }
99
100 #navegador-arte .selected-cat{
101 background-color: #E6E6E6;
102 }
103
104 #navegador-arte .minus-icon{
105 content: "";
106 display: block;
107 background: url("/Diputacion-theme/images/cultura_dipva/menos-rosa.png") no-repeat !important;
108 width: 10px;
109 height: 10px;
110 float: left;
111 margin: 4px 5px 4px 0px;
112 cursor: pointer;
113 }
114
115 #navegador-arte .plus-icon{
116 content: "";
117 display: block;
118 background: url("/Diputacion-theme/images/cultura_dipva/plus-rosa.png") no-repeat;
119 width: 10px;
120 height: 10px;
121 float: left;
122 margin: 4px 5px 4px 0px;
123 cursor: pointer;
124 }
125
126 #navegador-arte .empty-icon{
127 content: "";
128 display: block;
129 width: 10px;
130 height: 10px;
131 float: left;
132 margin: 4px 5px 4px 0px;
133 }
134
135 #navegador-arte #selector-artista{
136 width: 97%;
137 margin: 5px 5px 5px 5px;
138 }
139
140 #navegador-arte .vocabulary-cont select:focus{
141 outline-color: #C53BA6!important;
142 box-shadow: none;
143 border: none!important;
144 }
145
146 #navegador-arte .chevron-up{
147 background: url("/Diputacion-theme/images/cultura_dipva/up-blanco.png") no-repeat !important;
148 width: 25px;
149 height: 25px;
150 float: right;
151 position: absolute;
152 top: 50%;
153 right: 0%;
154 margin-right: 10px;
155 transform: translate(0%,-50%);
156 cursor: pointer;
157 }
158
159 #navegador-arte .chevron-down{
160 display: none;
161 background: url("/Diputacion-theme/images/cultura_dipva/down-blanco.png") no-repeat;
162 width: 25px;
163 height: 25px;
164 float: right;
165 position: absolute;
166 top: 50%;
167 right: 0%;
168 margin-right: 10px;
169 transform: translate(0%,-50%);
170 cursor: pointer;
171 }
172
173 @media only screen and (min-width: 1920px){
174
175 #navegador-arte .voc-title {
176 font-size: 1.2em;
177 line-height: 25px;
178 }
179
180 #navegador-arte #main-cont-title {
181 font-size: 1.2em;
182 }
183
184 #navegador-arte .vocabulary-cont li a {
185 font-size: 1.1em;
186 }
187
188 #navegador-arte #selector-artista{
189 font-size: 1.2em;
190 }
191
192 #navegador-arte #buscar-btn{
193 font-size: 1.2em;
194 }
195
196 }
197</style>
198
199<#-- Necesitamos hacer un tratamiento de la URL que nos permita pasar los parametros necesarios para el funcionamiento de menu de categorias -->
200<#assign assetCatLS = serviceLocator.findService("com.liferay.portlet.asset.service.AssetCategoryLocalService") >
201<#assign authTokenUtil = staticUtil["com.liferay.portal.security.auth.AuthTokenUtil"] >
202<#assign authToken = authTokenUtil.getToken(request) >
203<#-- Componentes de la URL -->
204<#assign currentURL = portalUtil.getCurrentCompleteURL(request)>
205<#assign arrayURL = currentURL?split("?")>
206<#assign domainURL = arrayURL[0] >
207
208<#-- Para evitar el conflicto con otros portlets a la hora de obtener el portletId que necesitamos, tomaremos todos los portletIds de la página y nos quedaremos con el nuestro
209 que incluye la cadena de caracteres 'tref'-->
210<#assign pids = layoutTypePortlet.getPortletIds() />
211<#assign my_id = "" />
212<#list pids as p>
213 <#if p?contains('tref')>
214 <#assign my_id = p>
215 </#if>
216</#list>
217
218<#-- Obtenemos los parametros de la URL de forma dinamica. Estos parametros se corresponden con el ID de la instancia del portlet,... -->
219<#assign serviceContext = staticUtil["com.liferay.portal.service.ServiceContextThreadLocal"].getServiceContext() >
220<#assign themeDisplay = serviceContext.getThemeDisplay() />
221<#assign p_p_id= my_id>
222<#assign p_p_lifecycle = '1' >
223<#assign p_p_state = 'normal' >
224<#assign p_p_mode = 'view' >
225<#assign p_p_col_id = 'column-1' >
226<#assign p_p_col_count = '1' >
227<#assign categoryParam = '_'+ p_p_id +'_categoryIds=' >
228
229<#-- URL con el formato final a falta de incluir las categorias seleccionadas -->
230<#assign pAuth = "?p_auth="+ authToken >
231<#assign fixedParams = '&p_p_id='+ p_p_id +
232 '&p_p_lifecycle='+ p_p_lifecycle +
233 '&p_p_state='+ p_p_state +
234 '&p_p_mode='+ p_p_mode +
235 '&p_p_col_id='+ p_p_col_id +
236 '&p_p_col_count='+ p_p_col_count +
237 '&'+ categoryParam >
238<#assign formatedURL = domainURL+pAuth+fixedParams >
239
240<#-- Dado que tenemos un menu en forma de arbol y un selector desplegable que funcionan de forma independiente debemos asegurarnos de lo hacen asi. Para ello
241 comprobaremos si la categoria seleccionada pertenece al vocabulario artista, de ser asi la borraremos pues no deseamos añadir mas categorias y mezclar los
242 dos menus-->
243
244<#assign assetVocLS = serviceLocator.findService("com.liferay.portlet.asset.service.AssetVocabularyLocalService") >
245
246<#assign arrayCats = [] >
247<#assign selectedCats = "">
248<#if currentURL?contains("categoryIds=")>
249 <#-- Tomamos la primera categoria seleccionada, que se corresponderá con el selector de categorias en el caso de que este haya sido empleado -->
250 <#assign arrayCats = currentURL?split("categoryIds=")>
251 <#assign selectedCats = arrayCats[1] >
252 <#if selectedCats !="">
253 <#assign aux = selectedCats?split("%2C")>
254 <#assign firstCatId = aux[0]?number>
255 <#-- Ese valor se corresponde con el id de la categoria. Empleando dicho id recuperamos el objeto AssetCategory. Con dicho objeto recuperamos el id del vocabulario
256 al que pertenece, el objeto Vocabulario y, finalmente, el nombre de dicho vocabulario. Si el nombre del vocabulario se corresponde con el vocabulario mostrado en el
257 selector desplegable, significará que la categoria seleccionada pertenece a dicho vocabulario y, por tanto, debemos eliminar la categoria de la URL para el correcto
258 funcionamiento -->
259 <#assign firstAssetCategory = assetCatLS.fetchCategory(firstCatId) >
260 <#assign vocId = firstAssetCategory.getVocabularyId()>
261 <#assign firstAssetVoc = assetVocLS.getVocabulary(vocId)>
262 <#assign vocName = firstAssetVoc.getName()>
263
264 </#if>
265</#if>
266
267<#-- Obtenemos las categorias seleccionadas que aparecen en el parametro categoryIds de la URL -->
268<#assign arrayCats = [] >
269<#assign selectedCats = "">
270<#-- Formato del parametro URL que almacena las categorias selecionadas cuando las añadimos-->
271<#if currentURL?contains("categoryIds=")>
272 <#assign arrayCats = currentURL?split("categoryIds=")>
273 <#assign selectedCats = arrayCats[1] >
274</#if>
275<#-- Formato del parametro URL que almacena las categorias selecionadas cuando las eliminamos-->
276<#if currentURL?contains("categoryId=")>
277 <#assign arrayCats = currentURL?split("categoryId=")>
278 <#assign selectedCats = arrayCats[1] >
279 <#-- Debemos asegurarnos de que la cadena de categorias seleccionadas esta vacia cuando eliminamos el ultimo elemento. En nuestro caso al borrar
280 el ultimo elemento nos queda un 'residuo', %2C -->
281 <#if selectedCats=="%2C" || selectedCats=="">
282 <#assign selectedCats = "" >
283 <#else>
284 <#assign selectedCats = selectedCats+"%2C" >
285 </#if>
286</#if>
287
288<div id="navegador-arte">
289 <div id="main-cont-title">
290 <span>Selector de categorías</span>
291 <span class="multi-cat-advice">(Puede seleccionar multiples categorías)</span>
292 <span class="selector-expander chevron-down"></span>
293 </div>
294 <div class="main-cont-info">
295 <#list entries as curVocabulary>
296 <div class="vocabulary-cont">
297 <div class="voc-title">
298 <span>${curVocabulary.getName()}</span>
299 </div>
300
301 <#if curVocabulary.getName()=='Modalidades artísticas' >
302 <!-- Arbol de modalidades artisticas -->
303 <#list curVocabulary.getCategories()?sort_by("description") as curCat>
304 <#if curCat.isRootCategory()>
305 <ul>
306 <#if selectedCats=="">
307 <#assign catURL = formatedURL+curCat.categoryId+"%2C" >
308 </#if>
309
310 <#if selectedCats?contains(curCat.categoryId?string) >
311 <#assign selectedCatsAux = selectedCats?replace(curCat.categoryId+"%2C","") >
312 <#assign catURL = formatedURL+selectedCatsAux >
313 <#else>
314 <#assign catURL = formatedURL+selectedCats+curCat.categoryId+"%2C" >
315 </#if>
316
317 <li class="main-cat">
318 <#-- Unicamente añadimos el icono '+'/'-' si la categoria cuenta con categorias hijo -->
319 <#if assetCatLS.getChildCategoriesCount(curCat.getCategoryId())!=0>
320 <span class="expander-icon plus-icon"></span>
321 <label class="expander-cat" id="${curCat.getCategoryId()}"><a href="${catURL}">${curCat.name}</a> </label>
322 <ul class="inner-cats">
323 <#list assetCatLS.getChildCategories(curCat.getCategoryId())?sort_by("description") as curSubCat>
324 <#if selectedCats=="">
325 <#assign catURL = formatedURL+curSubCat.categoryId+"%2C" >
326 </#if>
327
328 <#if selectedCats?contains(curSubCat.categoryId?string) >
329 <#assign selectedCatsAux = selectedCats?replace(curSubCat.categoryId+"%2C","") >
330 <#assign catURL = formatedURL+selectedCatsAux >
331 <#else>
332 <#assign catURL = formatedURL+selectedCats+curSubCat.categoryId+"%2C" >
333 </#if>
334
335 <li id="${curSubCat.getCategoryId()}">
336 <a href="${catURL}">${curSubCat.name}</a>
337 </li>
338 </#list>
339 </ul>
340 <#else>
341 <span class="empty-icon"></span>
342 <label id="${curCat.getCategoryId()}"><a href="${catURL}">${curCat.name}</a> </label>
343 </#if>
344 </li>
345 </ul>
346 </#if>
347 </#list>
348 </#if>
349
350 </div>
351 </#list>
352 </div>
353</div>
354
355<script>
356
357 var url = document.URL;
358 var arrayURL= [];
359 var sc = "";
360 var arraySelectedCat = [];
361 if (url.indexOf('categoryIds=')>=0){
362 var arrayURL = url.split('categoryIds=');
363 var sc = arrayURL[1];
364 }
365
366 if(arrayURL.length > 1){
367 var arraySelectedCat = sc.split('%2C');
368 for(var i=0; i<arraySelectedCat.length-1; i++ ){
369 $("select option[value*='"+arraySelectedCat[i]+"']").attr('selected','selected');
370 }
371 }
372
373 if(arrayURL.length > 1){
374 var arraySelectedCat = sc.split('%2C');
375 for(var i=0; i<arraySelectedCat.length-1; i++ ){
376 $("#"+arraySelectedCat[i]).parent().show();
377 $("#"+arraySelectedCat[i]).parent().siblings('span').toggleClass('minus-icon');
378 $("#"+arraySelectedCat[i]).toggleClass('selected-cat');
379 }
380 }
381
382 $('.expander-icon').click(function () {
383 $(this).toggleClass('minus-icon');
384 $(this).parent().children('ul.inner-cats').slideToggle(500);
385 });
386
387 /* Hacemos que tanto en la carga de la pagina como a la hora modificar el tamaño de la ventana se compruebe el ancho de la pagina y si
388 este se corresponde con el de un movil (<768px) se repliegue el selector de categorias y se muestre el icono que nos permite desplegarlo.
389 En caso contrario desplegamos el selector y ocultamos el icono.*/
390 $(window).load(function(){
391 if ($('body').width() < 768) {
392 $('.chevron-down').css('display','block');
393 $('.main-cont-info').hide();
394 $('.selector-expander').removeClass('chevron-up');
395 $('.selector-expander').show();
396 }
397
398 if ($('body').width() > 768) {
399 $('.main-cont-info').show();
400 $('.selector-expander').hide();
401 }
402 });
403
404 $('.selector-expander').click(function(){
405 $(this).toggleClass('chevron-up');
406 $('.main-cont-info').slideToggle(500);
407 });
408
409</script>
Buscador de contenidos
Buscar artista por nombre
Resultados obtenidos
Modalidades artísticas |
Artesanía |
Dirección | Plaza La Noceda, 2 - 3º A , 33010, Oviedo, Asturias, España |