The following has evaluated to null or missing:
==> request.getParameter(parametro) [in template "842907#842945#9755374" at line 10, column 20]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign numForo = request.getParamete... [in template "842907#842945#9755374" at line 10, column 1]
----
1<#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") >
2
3<!-- VARIABLES -->
4<#assign articleId = .vars['reserved-article-id'].data >
5<#assign portletNamespace = themeDisplay.getPortletDisplay().getId() />
6
7
8<#assign renderURL = themeDisplay.getURLCurrent()>
9<#assign parametro = "foro">
10<#assign numForo = request.getParameter(parametro)/>
11<#assign numForo1 ="1"/>
12<#assign numForo2 ="2"/>
13<#assign numForo3 ="3"/>
14
15
16
17<#assign groupId = 880311>
18
19<#assign imagenCabecera_ForoI_articleId = "9776888">
20<#assign imagenCabecera_ForoII_articleId = "9777586">
21<#assign imagenCabecera_ForoIII_articleId = "9777704">
22
23<#if numForo = numForo1>
24 <#assign articleId = imagenCabecera_ForoI_articleId>
25<#elseif numForo = numForo2>
26 <#assign articleId = imagenCabecera_ForoII_articleId>
27<#else>
28 <#assign articleId = imagenCabecera_ForoIII_articleId>
29</#if>
30
31<#if !validator.equalsSorted([""], [articleId])>
32 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
33 <#assign journalArticle = journalArticleLocalService.getArticle(groupId, articleId) >
34
35 <#assign documentcurrentArticle = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) >
36 <#assign rootElementcurrentArticle = documentcurrentArticle.getRootElement() >
37
38
39 <#assign video = rootElementcurrentArticle.valueOf("//dynamic-element[@name='video']/dynamic-content/text()") />
40 <#assign imageMobile = rootElementcurrentArticle.valueOf("//dynamic-element[@name='imageMobile']/dynamic-content/text()") />
41 <#assign imageTablet = rootElementcurrentArticle.valueOf("//dynamic-element[@name='imageTablet']/dynamic-content/text()") />
42 <#assign imageDesktop = rootElementcurrentArticle.valueOf("//dynamic-element[@name='imageDesktop']/dynamic-content/text()") />
43 <#assign alt = rootElementcurrentArticle.valueOf("//dynamic-element[@name='alt']/dynamic-content/text()") />
44
45 <#if validator.equalsSorted([""], [video])>
46 <picture>
47 <source srcset="${getFileEntryJson(imageMobile)}" media="(max-width: 480px)">
48 <source srcset="${getFileEntryJson(imageTablet)}" media="(max-width: 992px)">
49 <source srcset="${getFileEntryJson(imageDesktop)}" media="(min-width: 993px)">
50 <img class="w-100" src="${getFileEntryJson(imageDesktop)}" alt="${htmlUtil.escape(alt)}">
51 </picture>
52 <#else>
53 <div class="hidden" id="${portletNamespace}video">
54 <video class="lg-video-object lg-html5" controls >
55 <source src="${video}" type="video/mp4">
56 <@liferay.language key="dpt-imagen-cabecera.html5-not-supported" />
57 </video>
58 </div>
59 <#assign text = languageUtil.get(locale, "dpt-imagen-cabecera.html5-not-supported")>
60 <#assign titleVideo = rootElementcurrentArticle.valueOf("//dynamic-element[@name='video']/dynamic-content") />
61
62 <#assign titleVideo = "">
63
64
65 <#if !validator.equalsSorted([""], [titleVideo])>
66 <#assign titleVideo = "<p>${titleVideo}</p>" >
67 <#else>
68 <#assign titleVideo = "">
69 </#if>
70
71 <#assign description = saxReaderUtil.createXPath("dynamic-element[@name='videoFieldSet']/dynamic-element[@name='videoFieldSetFieldSet']/dynamic-element[@name='description']/dynamic-content").selectSingleNode(rootElementcurrentArticle).getStringValue() >
72 <div id="${portletNamespace}lightGalleryHeader">
73
74 <div
75 data-html="#${portletNamespace}video"
76 data-sub-html="${titleVideo}${description}"
77 tabindex="0" class="bipo-video-pointer">
78 <a href="#" class="bipo_video" role="button">
79 <span class="bipo_reproductor bipoicon icon-play2 icon-playvideo">
80 <span class="sr-only"><@liferay.language key="dpt-imagen-cabecera.play-video" /></span>
81 </span>
82 <picture>
83 <source srcset="${getFileEntryJson(imageMobile)}" media="(max-width: 480px)">
84 <source srcset="${getFileEntryJson(imageTablet)}" media="(max-width: 992px)">
85 <source srcset="${getFileEntryJson(imageDesktop)}" media="(min-width: 993px)">
86 <img class="w-100" src="${getFileEntryJson(imageDesktop)}" alt="${htmlUtil.escape(alt)}">
87 </picture>
88 </a>
89 </div>
90 </div>
91 <script type="text/javascript">
92 var $galeriaVideo = $(document).ready(function(){
93 $('#${portletNamespace}lightGalleryHeader').lightGallery({
94 thumbnail: false,
95 counter:false,
96 download: false
97 });
98 });
99 $galeriaVideo.on('onAfterAppendSubHtml.lg', function(event){
100 $('.lg-close span.sr-only').text('<@liferay.language key="close" />');
101 $('.lg-toogle-transcription').html('<@liferay.language key="lightgallery.transcription" />');
102 $('.lg-video-play span.sr-only').text('<@liferay.language key="play" />');
103 $('.lg-fullscreen span.sr-only').text('<@liferay.language key="full-screen" />');
104 });
105 </script>
106 </#if>
107</#if>
108<#--
109<#if validator.equalsSorted([""], [video.getData()])>
110 <picture>
111 <source srcset="${imageMobile.getData()}" media="(max-width: 480px)">
112 <source srcset="${imageTablet.getData()}" media="(max-width: 992px)">
113 <source srcset="${imageDesktop.getData()}" media="(min-width: 993px)">
114 <img class="w-100" src="${imageDesktop.getData()}" alt="${htmlUtil.escape(alt.getData())}">
115 </picture>
116<#else>
117 <div class="hidden" id="${portletNamespace}video">
118 <video class="lg-video-object lg-html5" controls >
119 <source src="${video.getData()}" type="video/mp4">
120 <@liferay.language key="dpt-imagen-cabecera.html5-not-supported" />
121 </video>
122 </div>
123
124 <#assign text = languageUtil.get(locale, "dpt-imagen-cabecera.html5-not-supported")>
125 <#if video.getChild('title')??>
126 <#assign titleVideo = "<p>video.getChild('title').getData()</p>" >
127 <#else>
128 <#assign titleVideo = "">
129 </#if>
130 <div id="${portletNamespace}lightGalleryHeader">
131 <div
132 data-html="#${portletNamespace}video"
133 data-sub-html="${titleVideo}${video.getChild('description').getData()}"
134 tabindex="0" class="bipo-video-pointer">
135 <a href="#" class="bipo_video" role="button">
136 <span class="bipo_reproductor bipoicon icon-play2">
137 <span class="sr-only"><@liferay.language key="dpt-imagen-cabecera.play-video" /></span>
138 </span>
139 <picture>
140 <source srcset="${imageMobile.getData()}" media="(max-width: 480px)">
141 <source srcset="${imageTablet.getData()}" media="(max-width: 992px)">
142 <source srcset="${imageDesktop.getData()}" media="(min-width: 993px)">
143 <img class="w-100" src="${imageDesktop.getData()}" alt="${htmlUtil.escape(alt.getData())}">
144 </picture>
145 </a>
146 </div>
147 </div>
148 <script type="text/javascript">
149 var $galeriaVideo = $(document).ready(function(){
150 $('#${portletNamespace}lightGalleryHeader').lightGallery({
151 thumbnail: false,
152 counter:false,
153 download: false
154 });
155 });
156 $galeriaVideo.on('onAfterAppendSubHtml.lg', function(event){
157 $('.lg-close span.sr-only').text('<@liferay.language key="close" />');
158 $('.lg-toogle-transcription').html('<@liferay.language key="lightgallery.transcription" />');
159 $('.lg-video-play span.sr-only').text('<@liferay.language key="play" />');
160 $('.lg-fullscreen span.sr-only').text('<@liferay.language key="full-screen" />');
161 });
162 </script>
163</#if>
164
165-->
166<#--Obtener nombre fichero para src-->
167<#function getFileNameEntryJson url >
168 <#assign urljson = url?eval>
169 <#assign group_id =urljson.groupId />
170 <#assign uuid = urljson.uuid />
171 <#assign fichero = urljson.title />
172 <#return fichero />
173</#function>
174
175<#function getFileEntryJson url >
176
177 <#assign urljson = url?eval>
178 <#assign group_id =urljson.groupId />
179 <#assign uuid = urljson.uuid />
180 <#assign fichero = urljson.title />
181
182 <#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") >
183 <#assign DLFichero= fileEntryService.getDLFileEntryByUuidAndGroupId(uuid?string, group_id?eval) />
184 <#return "/documents/"+group_id+"/"+DLFichero.getFolderId()+"/"+fichero />
185
186</#function>
The following has evaluated to null or missing:
==> request.getParameter(parametro) [in template "842907#842945#26409272" at line 12, column 20]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign numForo = request.getParamete... [in template "842907#842945#26409272" at line 12, column 1]
----
1<#assign textFormatter = staticUtil["com.liferay.portal.kernel.util.TextFormatter"]>
2<#assign zero = getterUtil.getInteger("0")>
3<#assign articleId = .vars['reserved-article-id'].data >
4<!-- SERVICES -->
5<#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") >
6
7<!-- VARIABLES -->
8<#assign portletNamespace = themeDisplay.getPortletDisplay().getId() />
9<#assign renderURL = themeDisplay.getURLCurrent()>
10
11<#assign parametro = "foro">
12<#assign numForo = request.getParameter(parametro)/>
13<#assign numForo1 ="1"/>
14<#assign numForo2 ="2"/>
15<#assign numForo3 ="3"/>
16
17<#assign groupId = 880311>
18<#assign intro_ForoI_articleId = "26409282">
19<#assign intro_ForoII_articleId = "26409344">
20<#assign intro_ForoIII_articleId = "26409359">
21
22<#if numForo = numForo1>
23 <#assign articleId = intro_ForoI_articleId>
24<#elseif numForo = numForo2>
25 <#assign articleId = intro_ForoII_articleId>
26<#else>
27 <#assign articleId = intro_ForoIII_articleId>
28</#if>
29
30<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
31<#assign journalArticle = journalArticleLocalService.getArticle(groupId,articleId) >
32
33<#assign documentcurrentArticle = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) >
34<#assign rootElementcurrentArticle = documentcurrentArticle.getRootElement() >
35<#assign titulo = rootElementcurrentArticle.valueOf("//dynamic-element[@name='titulo']/dynamic-content/text()") />
36<#assign subtitulo = rootElementcurrentArticle.valueOf("//dynamic-element[@name='subtitulo']/dynamic-content/text()") />
37<#assign content = rootElementcurrentArticle.valueOf("//dynamic-element[@name='contenido']/dynamic-content/text()") />
38
39
40<#--VER SI HAY CAJA ROJA-->
41<#assign fichas = rootElementcurrentArticle.selectNodes("//dynamic-element[@name='fichasFieldSet']") />
42<#assign hayCaja = "0">
43<#if fichas?has_content>
44 <#list fichas as curFicha>
45 <#assign tituloFicha = saxReaderUtil.createXPath("dynamic-element[@name='fichasFieldSetFieldSet']/dynamic-element[@name='tituloFicha']/dynamic-content").selectSingleNode(curFicha).data >
46 <#if (validator.isNotNull(tituloFicha) && !validator.equalsSorted([tituloFicha],[""] ))>
47 <#assign hayCaja = "1">
48 <#break>
49 </#if>
50 </#list>
51</#if>
52
53
54<div class="mb-3">
55 <div class="container">
56 <span class="bipo_ancla_fixed" id="${portletNamespace}tituloCaja"></span>
57 <div class="row">
58 <#if hayCaja ="1">
59 <div class="col-sm-12 col-md-8 pr-md-5">
60 <#else>
61 <div class="col-sm-12 col-md-12 pr-md-5">
62 </#if>
63 <#if (validator.isNotNull(titulo) && !validator.equalsSorted([titulo],[""] ))>
64 <h2>${htmlUtil.unescape(titulo)}</h2>
65 </#if>
66 <#if (validator.isNotNull(subtitulo) && !validator.equalsSorted([subtitulo],[""]))>
67 <h3>${htmlUtil.unescape(subtitulo)}</h3>
68 </#if>
69 <#if (validator.isNotNull(content) && !validator.equalsSorted([content],[""] ))>
70 <div class="ejemplo_read_more" id="${portletNamespace}leerCapaIntroBizkaia" >
71 ${content}
72 </div>
73 </#if>
74
75 </div>
76
77
78 <#if hayCaja ="1">
79 <div class=" col-sm-12 col-md-4 mt-md-5">
80 <ul class="row mt-3 flex-column">
81
82 <!--div class="uib_card_label fullhover"-->
83
84 <#if fichas?has_content>
85 <#assign cont = 0>
86 <#list fichas as curFicha>
87
88 <li class="col-12 mb-3">
89 <div class="card_border_primary">
90 <#assign tituloFicha = saxReaderUtil.createXPath("dynamic-element[@name='fichasFieldSetFieldSet']/dynamic-element[@name='tituloFicha']/dynamic-content").selectSingleNode(curFicha).data >
91 <#assign subtituloFicha = saxReaderUtil.createXPath("dynamic-element[@name='fichasFieldSetFieldSet']/dynamic-element[@name='subtituloFicha']/dynamic-content").selectSingleNode(curFicha).data >
92 <#assign contenidoFicha = saxReaderUtil.createXPath("dynamic-element[@name='fichasFieldSetFieldSet']/dynamic-element[@name='contenidoFicha']/dynamic-content").selectSingleNode(curFicha).data >
93
94 <#if ((validator.isNotNull(tituloFicha) && !validator.equalsSorted([""], [tituloFicha])) || (validator.isNotNull(subtituloFicha) && !validator.equalsSorted([""], [subtituloFicha])))>
95 <div class="card-body">
96 <#if (validator.isNotNull(tituloFicha) && !validator.equalsSorted([""], [tituloFicha]))>
97 <h3 class="bottom-bordered" id="${articleId}_linkContext_${cont}">
98 ${htmlUtil.unescape(tituloFicha)}
99 </h3>
100 </#if>
101 <#if (validator.isNotNull(subtituloFicha) && !validator.equalsSorted([""], [subtituloFicha]))>
102 <p id="subtitulo0">${htmlUtil.unescape(subtituloFicha)}</p>
103 </#if>
104 <#if (validator.isNotNull(contenidoFicha) && !validator.equalsSorted([""], [contenidoFicha]))>
105 ${htmlUtil.unescape(contenidoFicha)}
106 </#if>
107 </div>
108 </#if>
109
110
111 <#--ENLACES-->
112 <@pintarEnlaces curFicha/>
113 <#--FIN ENLACES-->
114 </div>
115 </li>
116 <#assign cont = cont + 1>
117 </#list><#--LISTA FICHAS-->
118 </#if>
119 <!--/div-->
120
121 </ul>
122 </div>
123 </#if>
124
125 </div>
126 </div>
127</div>
128
129
130
131<#macro pintarEnlaces curFicha>
132 <#--ENLACE-->
133
134
135 <div class="card-footer">
136
137 <ul>
138
139 <#assign enlaceFicha = saxReaderUtil.createXPath("dynamic-element[@name='fichasFieldSetFieldSet']/dynamic-element[@name='enlaceFichaFieldSet']").selectNodes(curFicha) />
140
141
142
143 <#list enlaceFicha as curEnlace>
144 <#assign urlEnlace=""/>
145 <#assign enlaceData = saxReaderUtil.createXPath("dynamic-element[@name='enlaceFicha']/dynamic-content").selectSingleNode(curEnlace).data >
146 <#if validator.isNotNull(enlaceData) && !validator.equalsSorted([""],[enlaceData])>
147 <#assign urlEnlace=enlaceData/>
148 <#assign target_enlace="target='_self'">
149 <#assign title_enlace="">
150 <#--HAY TITULO DE ENLACES-->
151 <#assign tituloEnlaceFicha = saxReaderUtil.createXPath("dynamic-element[@name='enlaceFichaFieldSetFieldSet']/dynamic-element[@name='tituloEnlaceFicha']/dynamic-content").selectSingleNode(curEnlace).data >
152 <#if (validator.isNotNull(tituloEnlaceFicha) && !validator.equalsSorted([tituloEnlaceFicha],[""] ))>
153 <#assign title_enlace = tituloEnlaceFicha/>
154 </#if>
155 <#-- ES ABRIR FUERA -->
156 <#assign targetEnlaceFicha = saxReaderUtil.createXPath("dynamic-element[@name='enlaceFichaFieldSetFieldSet']/dynamic-element[@name='target']/dynamic-content").selectSingleNode(curEnlace).data >
157 <#if getterUtil.getBoolean(targetEnlaceFicha)>
158 <#assign target_enlace="target='_blank'">
159 <#if validator.equalsSorted([""],[title_enlace]) >
160 <#-- VALOR POR DEFECTO -->
161 <#assign title_enlace = languageUtil.get(locale, 'ccm.opens-new-window')>
162 </#if>
163
164 </#if>
165 <#if !validator.equalsSorted([""],[title_enlace]) >
166 <#assign title_enlace="title='${title_enlace}'">
167 </#if>
168
169 <#assign textoEnlace=""/>
170 <#assign textoEnlaceFicha = saxReaderUtil.createXPath("dynamic-element[@name='enlaceFichaFieldSetFieldSet']/dynamic-element[@name='textoEnlaceFichas']/dynamic-content").selectSingleNode(curEnlace).data >
171 <#if validator.isNotNull(textoEnlaceFicha) && !(validator.equalsSorted([""],[textoEnlaceFicha])) >
172 <#assign textoEnlace = textoEnlaceFicha/>
173 </#if>
174 </#if>
175 <#assign css_enlace =""/>
176
177 <li>
178
179
180 <a class="bipo_linkflecha_primary" href="${urlEnlace}" ${target_enlace} ${title_enlace}>
181 ${htmlUtil.unescape(textoEnlace)}
182 <#assign targetEnlaceFicha = saxReaderUtil.createXPath("dynamic-element[@name='enlaceFichaFieldSetFieldSet']/dynamic-element[@name='target']/dynamic-content").selectSingleNode(curEnlace).data >
183 <#if getterUtil.getBoolean(targetEnlaceFicha)>
184 <span aria-hidden="true" class="bipoicon icon-enlaceexterno"></span>
185 <#else>
186 <span aria-hidden="true" class="bipoicon icon-flecha_derecha"></span>
187 </#if>
188 </a>
189
190
191 </li>
192
193 </#list>
194
195 </ul>
196
197 </div>
198
199</#macro>
200
201<#function replaceSpecialCharacters(url)>
202 <#return htmlUtil.escapeHREF(url?replace("|","%7C")) />
203</#function>
204
205
206<#--Obtener fichero-->
207<#function getFileEntry url >
208
209 <#assign parts = url?split("/")>
210 <#assign group_id = getterUtil.getLong(parts[4]) >
211 <#assign parts = parts[7]?split("?") >
212 <#assign uuid = parts[0] >
213 <#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") >
214 <#return fileEntryService.getDLFileEntryByUuidAndGroupId(uuid?string, group_id) />
215
216</#function>
The following has evaluated to null or missing:
==> request.getParameter(parametro) [in template "842907#842945#26409393" at line 29, column 20]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign numForo = request.getParamete... [in template "842907#842945#26409393" at line 29, column 1]
----
1<#assign ancla = "">
2<#assign tancla = paragraph.title.getData()>
3<#assign tancla = tancla?replace("á","a") >
4<#assign tancla = tancla?replace("é","e") >
5<#assign tancla = tancla?replace("í","i") >
6<#assign tancla = tancla?replace("ó","o") >
7<#assign tancla = tancla?replace("ú","u") >
8<#assign tancla = tancla?replace("¿","") >
9<#assign tancla = tancla?replace("?","") >
10<#assign tancla = tancla?lower_case>
11
12<#assign titleClass = "">
13 <#list tancla?split(" ") as x>
14 <#if x_index lt 2 && !x?is_last>
15 <#assign ancla = ancla + x + "-">
16 <#elseif x_index lte 2 >
17 <#assign ancla = ancla + x>
18 </#if>
19 </#list>
20
21<!-- SERVICES -->
22<#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") >
23
24<!-- VARIABLES -->
25<#assign articleId = .vars['reserved-article-id'].data >
26<#assign portletNamespace = themeDisplay.getPortletDisplay().getId() />
27<#assign renderURL = themeDisplay.getURLCurrent()>
28<#assign parametro = "foro">
29<#assign numForo = request.getParameter(parametro)/>
30
31<#assign numForo1 ="1"/>
32<#assign numForo2 ="2"/>
33<#assign numForo3 ="3"/>
34
35<#assign groupId = 880311>
36<#--<#assign parrafosTitulados_ForoI_articleId = "8899645">-->
37<#assign parrafosTitulados_ForoI_articleId = "">
38<#assign parrafosTitulados_ForoII_articleId = "9777745">
39<#assign parrafosTitulados_ForoIII_articleId = "9773686">
40
41
42
43<#if numForo = numForo1>
44 <#assign articleId = parrafosTitulados_ForoI_articleId>
45<#elseif numForo = numForo2>
46 <#assign articleId = parrafosTitulados_ForoII_articleId>
47<#else>
48 <#assign articleId = parrafosTitulados_ForoIII_articleId>
49</#if>
50
51
52
53<#if !validator.equalsSorted([""], [articleId])>
54 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
55 <#assign journalArticle = journalArticleLocalService.getArticle(groupId, articleId) >
56
57 <#assign documentcurrentArticle = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) >
58 <#assign rootElementcurrentArticle = documentcurrentArticle.getRootElement() >
59 <#assign header = rootElementcurrentArticle.valueOf("//dynamic-element[@name='headerFieldSet']/dynamic-element[@name='header']/dynamic-content/text()") />
60
61
62<section class="tab-to-accordion mb-5">
63 <div class="container section">
64
65 <#if !validator.equalsSorted([""], [header])>
66 <div class="row">
67 <div class="col-12 col-xs-12">
68 <span class="bipo_ancla_fixed" id='${ancla}'></span>
69 <h2>${header}</h2>
70 </div>
71 </div>
72 </#if>
73 <#assign paragraph = rootElementcurrentArticle.selectNodes("//dynamic-element[@name='paragraphFieldSet']") />
74
75
76 <div class="row">
77
78 <div id="${portletNamespace}bipo_contenedor_pestanias" >
79 <div class="col-xxs-12">
80 <div class="row">
81 <#if paragraph?has_content>
82 <div class="hidden-xs hidden-sm col-md-4">
83 <div class="${portletNamespace}bipo_diputacion_menu_pestanias tabs_beta_menu">
84
85 <ul class="resp-tabs-list ${portletNamespace}bipo_vert1">
86 <#list paragraph as curParagraph>
87 <#assign title = saxReaderUtil.createXPath("dynamic-element[@name='paragraphFieldSetFieldSet']/dynamic-element[@name='title']/dynamic-content").selectSingleNode(curParagraph).data >
88 <#if !validator.equalsSorted([""], [title])>
89 <li role="presentation">
90 <a href="#${portletNamespace}paragraph-${curParagraph_index}">${title}</a>
91 </li>
92 </#if>
93 </#list>
94 </ul>
95 </div>
96 </div>
97 <div class="col-xxs-12 col-md-8 resp-tabs-container ${portletNamespace}bipo_vert1 ${portletNamespace}contentPestania ">
98 <#list paragraph as curParagraph>
99 <#assign title = saxReaderUtil.createXPath("dynamic-element[@name='paragraphFieldSetFieldSet']/dynamic-element[@name='title']/dynamic-content").selectSingleNode(curParagraph).data >
100 <#if !validator.equalsSorted([""], [title])>
101 <div id="${portletNamespace}paragraph-${curParagraph_index}" class="col-xs-12">
102 <div class="bipo_diputacion_pestania">
103 <#assign description = saxReaderUtil.createXPath("dynamic-element[@name='paragraphFieldSetFieldSet']/dynamic-element[@name='description']/dynamic-content").selectSingleNode(curParagraph).data >
104 ${description}
105 <#assign documentos= curParagraph.selectNodes("dynamic-element[@name='paragraphFieldSetFieldSet']/dynamic-element[@name='document']") />
106 <#if documentos?has_content>
107 <#assign tamDocumentos = documentos?size/>
108 <#assign hayDocumentos = "0"/>
109 <#list documentos as curDocumento>
110 <#assign documento = curDocumento.valueOf("dynamic-element[@name='paragraph']/dynamic-content/text()") />
111 <#if (validator.isNotNull(documento) && !validator.equalsSorted([documento],[""] ))>
112 <#assign hayDocumentos = "1"/>
113 </#if>
114 </#list>
115 </#if>
116 <#if hayDocumentos = "1">
117 <ul>
118 <#list documentos as curDocumento>
119 <#assign documento = curDocumento.valueOf("dynamic-element[@name='paragraph']/dynamic-content/text()") />
120 <#if (validator.isNotNull(documento) && !validator.equalsSorted([documento],[""] ))>
121 <#assign fileEntry = getFileEntryJson(documento) >
122 <#assign title = getFileNameEntryJson(documento) >
123 <#assign enlace = replaceSpecialCharacters(fileEntry)>
124 <li>
125 <a href="${enlace}">${title}</a>
126 </li>
127 </#if>
128 </#list>
129 </ul>
130 </#if>
131
132 </div>
133 </div>
134 </#if>
135 </#list>
136 </div>
137 </#if>
138 </div>
139 </div>
140 </div>
141 </div>
142 </div>
143</section>
144</#if>
145<script>
146$(document).ready(function() {
147 $('#${portletNamespace}bipo_contenedor_pestanias').easyResponsiveTabs({
148 tabidentify: "${portletNamespace}bipo_vert1",
149 width: "992px",
150 closed: "accordion",
151 read_more: false
152 });
153 $('.${portletNamespace}bipo_diputacion_menu_pestanias').scrollToFixed({
154 marginTop: 140,
155 limit: function() {
156 var limite = 0;
157 limite = $('.${portletNamespace}contentPestania .resp-tab-content-active .bipo_diputacion_pestania').offset().top + $('.${portletNamespace}contentPestania .resp-tab-content-active .bipo_diputacion_pestania').outerHeight(true) - $(this).outerHeight(true);
158 return limite;
159 },
160 zIndex: 1,
161 minWidth: 992,
162 removeOffsets: true
163 });
164 var ${portletNamespace}fixBipoMenuPestainaTop = function() {
165 if ($('.${portletNamespace}bipo_diputacion_menu_pestanias').css('position') == 'absolute'){
166 $('.${portletNamespace}bipo_diputacion_menu_pestanias').css('position','static');
167 }
168
169 var ${portletNamespace}pos5 = $('#${portletNamespace}bipo_contenedor_pestanias').offset();
170 var ${portletNamespace}offsetMenu5 = parseInt(${portletNamespace}pos5.top, 10);
171 $(document).scrollTop( ${portletNamespace}offsetMenu5 - 200 );
172 }
173 $( '#${portletNamespace}bipo_contenedor_pestanias li.resp-tab-item a ' ).on( 'click', function() {
174 setTimeout(function(){
175 $(window).resize();
176 ${portletNamespace}fixBipoMenuPestainaTop()},1);
177 });
178});
179</script>
180
181<#--Obtener fichero para src-->
182<#function getFileEntryJson url >
183 <#assign urljson = url?eval>
184 <#assign group_id =urljson.groupId />
185 <#assign uuid = urljson.uuid />
186 <#assign fichero = urljson.title />
187 <#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") >
188 <#assign DLFichero= fileEntryService.getDLFileEntryByUuidAndGroupId(uuid?string, group_id?eval) />
189 <#return "/documents/"+group_id+"/"+DLFichero.getFolderId()+"/"+fichero />
190</#function>
191
192<#--Obtener nombre fichero para src-->
193<#function getFileNameEntryJson url >
194 <#assign urljson = url?eval>
195 <#assign group_id =urljson.groupId />
196 <#assign uuid = urljson.uuid />
197 <#assign fichero = urljson.title />
198 <#return fichero />
199</#function>
200
201<#function replaceSpecialCharacters(url)>
202 <#return htmlUtil.escapeHREF(url?replace("|","%7C")) />
203</#function>
The following has evaluated to null or missing:
==> request.getParameter(parametro) [in template "842907#842945#26409330" at line 45, column 20]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign numForo = request.getParamete... [in template "842907#842945#26409330" at line 45, column 1]
----
1<#assign textFormatter = staticUtil["com.liferay.portal.kernel.util.TextFormatter"]>
2<#assign ancla = "">
3
4 <#assign tancla = titulo.getData()>
5 <#assign tancla = tancla?replace("á","a") >
6 <#assign tancla = tancla?replace("é","e") >
7 <#assign tancla = tancla?replace("í","i") >
8 <#assign tancla = tancla?replace("ó","o") >
9 <#assign tancla = tancla?replace("ú","u") >
10 <#assign tancla = tancla?replace("¿","") >
11 <#assign tancla = tancla?replace("?","") >
12 <#assign tancla = tancla?replace("/","") >
13 <#assign tancla = tancla?replace("(","") >
14 <#assign tancla = tancla?replace(")","") >
15 <#assign tancla = tancla?lower_case>
16
17<#assign titleClass = "">
18<#if icono.getData()?has_content>
19
20 <#assign titleClass = icono.getData()>
21</#if>
22 <#list tancla?split(" ") as x>
23 <#if x_index lt 2 && !x?is_last>
24 <#assign ancla = ancla + x + "-">
25 <#elseif x_index lte 2 >
26 <#assign ancla = ancla + x>
27 </#if>
28 </#list>
29<#if themeDisplay.getLocale() == "eu_ES">
30 <#assign textoTamanio = "tamaina"/>
31 <#assign textoDescarga = "Fitxategia deskargatzea"/>
32<#else>
33 <#assign textoTamanio = "tamaño"/>
34 <#assign textoDescarga = "Descarga de archivo"/>
35</#if>
36
37
38<!-- SERVICES -->
39<#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") >
40<#assign textFormatter = staticUtil["com.liferay.portal.kernel.util.TextFormatter"]>
41<!-- VARIABLES -->
42<#assign portletNamespace = themeDisplay.getPortletDisplay().getId() />
43<#assign renderURL = themeDisplay.getURLCurrent()>
44<#assign parametro = "foro">
45<#assign numForo = request.getParameter(parametro)/>
46<#assign numForo1 ="1"/>
47<#assign numForo2 ="2"/>
48<#assign numForo3 ="3"/>
49
50<#assign groupId = 880311>
51<#assign archivos_ForoI_articleId = "9777121">
52<#assign archivos_ForoII_articleId = "9777835">
53<#assign archivos_ForoIII_articleId = "9777944">
54
55<#if numForo = numForo1>
56 <#assign articleId = archivos_ForoI_articleId>
57<#elseif numForo = numForo2>
58 <#assign articleId = archivos_ForoII_articleId>
59<#else>
60 <#assign articleId = archivos_ForoIII_articleId>
61</#if>
62
63<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
64<#assign journalArticle = journalArticleLocalService.getArticle(groupId, articleId) >
65
66<#assign documentcurrentArticle = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) >
67<#assign rootElementcurrentArticle = documentcurrentArticle.getRootElement() >
68<#assign content = rootElementcurrentArticle.valueOf("//dynamic-element[@name='content']/dynamic-content/text()") />
69
70<#if !validator.equalsSorted([""], [articleId])>
71<div class="container">
72
73
74 <div class="row">
75 <div
76 class="col-12 col-xs-12 col-sm-12 col-md-12 ">
77
78 <span class="bipo_ancla_fixed" id='${ancla}'></span>
79 <#assign titulo = rootElementcurrentArticle.valueOf("//dynamic-element[@name='titulo']/dynamic-content/text()") />
80 <#if (validator.isNotNull(titulo) && !validator.equalsSorted([titulo],[""] ))>
81 <h2>${htmlUtil.unescape(titulo)}</h2>
82 </#if>
83
84 <#if subtitulo.getData()?has_content>
85 <h3 class="mb-4">${htmlUtil.unescape(subtitulo.getData())}</h3>
86 </#if>
87 <#if (contenido.getData())??>
88 <div>
89 ${contenido.getData()}
90 </div>
91 </#if>
92 </div>
93
94 <#assign nombreDocumento = "" />
95 <#assign documento = "" />
96 <#assign fileEntry = ""/>
97 <#assign extension =""/>
98 <#assign size=""/>
99 <#assign tamanyo ="" />
100 <#assign currentArticleDocumentos = rootElementcurrentArticle.selectNodes("dynamic-element[@field-reference='documentoFieldSet']") />
101
102 <#if currentArticleDocumentos?has_content>
103 <ul class="row w-100">
104 <#assign cont = 0>
105 <#list currentArticleDocumentos as cur_doc>
106 <#assign nombreDocumento= saxReaderUtil.createXPath("dynamic-element[@field-reference='documentoFieldSetFieldSet']/dynamic-element[@name='tituloDocumento']/dynamic-content").selectSingleNode(cur_doc).data >
107 <#assign documento = cur_doc.valueOf("dynamic-element[@field-reference='documento']/dynamic-content/text()") />
108 <#assign ancho = 3>
109
110 <li class="col-md-${ancho} mb-3">
111 <div class="uib_cards_bg_neutral fullhover d-flex flex-column p-3">
112
113 <div class="iub_card_round p-3">
114 <span aria-hidden="true" class="bipoicon icon-TypePDF uib_size_2 text-dark"></span>
115 </div>
116 <#if (nombreDocumento)??>
117 <h3 id="titulo-documento-${cont}">${htmlUtil.unescape(nombreDocumento)}</h3>
118 </#if>
119 <#if documento != "">
120 <p class="d-flex align-items-end w-100 h-100 ">
121 <#assign fileEntry = getFileEntry(documento) >
122 <#assign extension = fileEntry.extension?upper_case>
123 <#assign size = textFormatter.formatStorageSize(fileEntry.size, locale)?upper_case>
124 <#if (size?contains("KB"))>
125 <#assign tamanyo = size?replace("KB", "<abbr title='Kilobytes' lang='en'>KB</abbr>")>
126 <#elseif (size?contains("MB"))>
127 <#assign tamanyo = size?replace("MB", "<abbr title='Megabytes' lang='en'>MB</abbr>")>
128 </#if>
129 <#assign enlaceDoc = "/documents/" + fileEntry.groupId + "/" + fileEntry.folderId + "/" + (fileEntry.title?url('UTF-8')) + "/" + fileEntry.uuid>
130 <a class="btn-descarga-link w-100" href="${enlaceDoc}" rel="noopener noreferrer" target="_blank" title="<@liferay.language key='opens-new-window'/>" id="download-${cont}" aria-labelledby="download-${cont} titulo-documento-${cont}">
131 <span>${textoDescarga}</span>
132 <span aria-hidden="true" class="bipoicon icon-download_new"></span>
133 <span aria-hidden="true" class="btn-descarga-caracteristicas"> ${extension} | ${tamanyo} </span>
134 </a>
135 </p>
136 </#if>
137
138
139 </div>
140 </li>
141 <#assign cont = cont+1>
142 </#list>
143 </ul>
144 </#if>
145 <#function getFileEntry url >
146
147 <#assign urljson = url?eval>
148 <#assign group_id =urljson.groupId />
149 <#assign uuid = urljson.uuid />
150
151 <#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") >
152 <#return fileEntryService.getDLFileEntryByUuidAndGroupId(uuid?string, group_id?eval) />
153 </#function>
154
155
156 </div>
157</div>
158</#if>
Cookies
Utilizamos cookies propias y de terceros para fines técnicos, analíticos y de personalización, como es el idioma de navegación seleccionado. Para más información consulta nuestra política de cookies (Abre ventana modal).
Cambiar a: EU
Política de cookies
Esta página web, https://www.bizkaia.eus (en adelante la “Página Web”) utiliza herramientas de seguimiento de la navegación a través de la misma y de la dirección IP del destinatario del servicio, con la finalidad de mejorar y garantizar la prestación de servicios o el funcionamiento técnico de la misma, distinguirle de otras personas usuarias y analizar sus hábitos de navegación.
La presente política de cookies tiene como finalidad informarle de manera clara y precisa sobre el funcionamiento y utilidades de las cookies que utilizamos.
¿Qué es y por qué usamos cookies?
Una cookie es un fichero que se descarga en su dispositivo al acceder a determinadas páginas web.
Las cookies permiten a una página web, entre otras cosas, almacenar y recuperar información sobre los hábitos de navegación de una persona usuaria o de su equipo y, dependiendo de la información que contengan y de la forma en que utilice su equipo, pueden utilizarse para reconocer a la persona usuaria.
La ley vigente permite que almacenemos cookies en su dispositivo si estas son estrictamente necesarias para el funcionamiento de esta página. Sin embargo, para el resto de tipos de cookies necesitaremos permiso.
Tipos de cookies según la entidad que las gestione
Según quién gestione el equipo o dominio desde donde se envían las cookies y trate los datos que se obtengan, podemos distinguir:
-
Cookies propias: están gestionadas por la Diputación Foral de Bizkaia.
-
Cookies de terceros: están gestionadas por otra entidad que trata los datos obtenidos a través de las cookies.
En esta página web se pueden encontrar cookies del Gobierno Vasco, utilizadas para fines propios y que se almacenan en dominios ajenos a la Diputación Foral de Bizkaia.
Tipos de cookies según su finalidad
- Cookies técnicas: permiten a la persona usuaria la navegación a través de una página web, plataforma o aplicación y la utilización de las diferentes opciones o servicios que en ella existan como, por ejemplo, controlar el tráfico y la comunicación de datos, identificar la sesión, acceder a partes de acceso restringido, realizar la solicitud de inscripción o participación en un evento, utilizar elementos de seguridad durante la navegación, almacenar contenidos para la difusión de videos o sonido o compartir contenidos a través de redes sociales.
- Cookies de análisis: permiten cuantificar el número de personas usuarias y realizar la medición y análisis estadístico de la navegación que se realiza, con el objetivo de mejorar los servicios que están a su disposición. Pueden ser propias o de terceros.
- Cookies de personalización: permiten a la persona usuaria acceder al servicio con algunas características de carácter general predefinidas en función de una serie de criterios en el dispositivo de la persona usuaria como por ejemplo, el idioma, el tipo de navegador a través del cual accede al servicio, la configuración regional desde donde accede al servicio, etc.
Duración de las cookies
- Cookies de sesión: recaban y almacenan datos mientras la persona usuaria accede a una página web.
- Cookies persistentes: los datos siguen almacenados en el dispositivo y pueden ser accedidos y tratados durante un periodo definido por el responsable de la cookie, que puede ir de unos minutos a varios años.
¿Qué cookies utiliza esta web?
En cada fila se pueden encontrar los datos relativos a una cookie técnica
| Nombre | Objetivo | Duración | Propietario |
|---|---|---|---|
| JSESSIONID | Identificar la sesión | Sesión | Diputación Foral de Bizkaia |
| ASPSESSIONID | Identificar la sesión | Sesión | Diputación Foral de Bizkaia |
| TS01 | Identificar la sesión | Sesión | Diputación Foral de Bizkaia |
| LFR_SESSION_STATE | Identificar la sesión | Sesión | Diputación Foral de Bizkaia |
| COOKIE_SUPPORT | Indicar si la persona usuaria tiene activado el soporte para cookies | 1 año | Diputación Foral de Bizkaia |
| pc_tecnicas_bizkaia | Recoger las preferencias de aceptación/rechazo sobre el bloque de las cookies técnicas | 1 año | Diputación Foral de Bizkaia |
| pc_analitica_bizkaia | Recoger las preferencias de aceptación/rechazo sobre el bloque de las cookies de análisis | 1 año | Diputación Foral de Bizkaia |
| pc_preferencias_bizkaia | Recoger las preferencias de aceptación/rechazo sobre el bloque de las cookies de preferencias | 1 año | Diputación Foral de Bizkaia |
| pc_terceros_bizkaia | Recoger las preferencias de aceptación/rechazo sobre el bloque de las cookies de terceros | 1 año | Diputación Foral de Bizkaia |
| CPLB | Contiene información utilizada por nuestros servidores de equilibrio de carga | Sesión | Diputación Foral de Bizkaia |
| Kultursistema_session | Mantener la sesión de la persona usuaria | 1 hora | Kultursistema |
| XSRF-TOKEN | Para evitar ataques CSRF (Cross Site Request Forgery) | 1 hora | Kultursistema |
| _GRECAPTCHA | Protege el sitio web del spam y los ataques de fuerza bruta | 6 meses |
En cada fila se pueden encontrar los datos relativos a una cookie de análisis
| Nombre | Objetivo | Duración | Propietario |
|---|---|---|---|
| dtCookie | Rastrea una visita a través de múltiples solicitudes | Sesión | Diputación Foral de Bizkaia |
| dtLatC | Mide la latencia del servidor para la monitorización del rendimiento | Sesión | Diputación Foral de Bizkaia |
| dtPC | Necesario para identificar los parámetros adecuados para la transmisión de balizas; incluye ID de sesión para correlación | Sesión | Diputación Foral de Bizkaia |
| dtSa | Almacén intermedio para acciones que abarcan páginas | Sesión | Diputación Foral de Bizkaia |
| rxVisitor | ID de visitante para correlacionar sesiones | Permanente | Diputación Foral de Bizkaia |
| rxvt | Tiempo de espera de sesión | Sesión | Diputación Foral de Bizkaia |
| iyrc-user-id | Distinguir a las personas usuarias | 1 hora | Diputación Foral de Bizkaia |
| _ga, _ga_XXXXXXXXXXX | Distinguir a la persona usuaria | 2 años | Google Analytics |
| _gat, _gat_XXXXXXXXXXX | Limitar el porcentaje de solicitudes | 1 minuto | Google Analytics |
| _gid | Distinguir a las personas usuarias | 1 día | Google Analytics |
| MUID | Distinguir a la persona usuaria | 1 año | Microsoft Clarity |
| _clck | Asignar preferencias a la misma persona usuaria | 1 año | Microsoft Clarity |
| _clsk | Conecta múltiples páginas vistas en una sesión | 1 año | Microsoft Clarity |
| CLID | Identificar la primera visita de una persona usuaria | 1 año | Microsoft Clarity |
| ANONCHK | Distinguir a la persona usuaria | 1 día | Microsoft Clarity |
| MR | Indica cuando refrescar MUID | 6 meses | Microsoft Clarity |
| SM | Sincronizar MUID en el entorno Microsoft | 1 año | Microsoft Clarity |
En cada fila se pueden encontrar los datos relativos a una cookie de personalización
| Nombre | Objetivo | Duración | Propietario |
|---|---|---|---|
| Idioma | Seleccionar el idioma preferido por la persona usuaria | 1 año | Diputación Foral de Bizkaia |
| cookie-tramites-favs | Guardar los trámites favoritos en Cita Previa | 1 año | Diputación Foral de Bizkaia |
En cada fila se pueden encontrar los datos relativos a una cookie de terceros
| Nombre | Objetivo | Duración | Propietario |
|---|---|---|---|
| CLID | Identificar la primera visita de una persona usuaria | 1 año | Microsoft Clarity |
| APISID | Almacenar las preferencias del usuario y la información durante la visualización de las páginas con los mapas de Google en ellos | 2 años | |
| HSID | Prevención del fraude | 2 años | |
| MUID | Distinguir a la persona usuaria | 1 año | Microsoft Clarity |
| NID | Recordar sus preferencias y otra información | 6 meses | |
| SAPISID | Mostrar anuncios personalizados en los sitios de Google | 2 años | |
| SID | Proporcionar entrega de anuncios o retargeting, proporcionar prevención del fraude | 2 años | |
| SIDCC | Proporcionar la identificación del tráfico web confiable | 1 año | |
| SM | Se utiliza para sincronizar el MUID entre dominios de Microsoft | Sesión | Microsoft Clarity |
| SSID | Proporcionar entrega de anuncios o retargeting, proporcionar prevención del fraude | 2 años | |
| __Secure-1PAPISID | Crear un perfil de los intereses del visitante del sitio web con el fin de mostrar publicidad de Google relevante y personalizada | 2 años | |
| __Secure-1PSID | Crear un perfil de los intereses del visitante del sitio web con el fin de mostrar publicidad de Google relevante y personalizada | 2 años | |
| __Secure-1PSIDCC | Crear un perfil de los intereses de los visitantes del sitio web para mostrar anuncios relevantes y personalizados a través de retargeting | 1 año | |
| __Secure-1PSIDTS | Crear un perfil de los intereses de los visitantes del sitio web para mostrar anuncios relevantes y personalizados a través de retargeting | 1 año | |
| __Secure-3PSID | Crear un perfil de los intereses del visitante del sitio web con el fin de mostrar publicidad de Google relevante y personalizada | 2 años | |
| __Secure-3PSIDCC | Crear un perfil de los intereses de los visitantes del sitio web para mostrar anuncios relevantes y personalizados a través de retargeting | 1 año | |
| __Secure-3PSIDTS | Crear un perfil de los intereses de los visitantes del sitio web para mostrar anuncios relevantes y personalizados a través de retargeting | 1 año | |
| __Secure-ENID | Cookie necesaria para la utilización de las opciones y servicios del sitio web | 1 año | |
| ar_debug | Depurar anuncios | 1 año | |
| MR | Indica cuando refrescar MUID | 6 meses | Microsoft Clarity |
| XSRF-TOKEN | Para evitar ataques CSRF (Cross Site Request Forgery) | 1 hora | Kultursistema |
| _fbp | Almacenar y rastrear las visitas en los sitios web | 1 año | |
| kultursistema_session | Mantener la sesión de la persona usuaria | 1 hora | Kultursistema |
| AEC | Detectar spam, fraude y abuso | 6 meses | |
| SOCS | Almacenar las elecciones de cookies de la persona usuaria | 13 meses | |
| Locale | No disponible | Gobierno Vasco | |
| _hegoa_coop_session | Generar un identificador de sesión para las personas usuarias | Sesión | Gobierno Vasco |
¿Cómo desinstalar las cookies?
La persona usuaria, en su primer acceso a la Página Web puede configurar y aceptar o rechazar las cookies en el presente Sitio Web. Posteriormente, la persona usuaria podrá, en cualquier momento, cambiar o retirar su consentimiento a través de la presente Política de Cookies o de la configuración.
No obstante, en cualquier momento podrás ejercer tu derecho de desactivarlas libremente e incluso de eliminar las cookies de esta Página Web. Estas acciones se realizan de forma diferente en función del navegador que estés usando. Aquí te dejamos una guía rápida para los navegadores más populares.
- Desactivar Cookies en Chrome
- Desactivar Cookies en Explorer
- Desactivar Cookies en Firefox
- Desactivar Cookies en Safari
- Desactivar Cookies en Edge
En caso de desactivación o eliminación de las cookies, algunas funcionalidades de la Página web podrían no funcionar correctamente.
Modificaciones de la Política de Cookies
La Página Web se reserva el derecho a modificar la presente Política de Cookies, siempre en los términos permitidos por la legislación vigente. Por ello, le recomendamos revisar esta política cada vez que acceda a nuestro sitio web a los efectos de actualización e información oportunos.
Configurar cookies
A continuación te mostramos las diferentes categorías para las que nuestra web hace uso de cookies. Puedes personalizar tu elección aceptando o rechazando las mismas a través de los botones habilitados para ello. Para más información consulta nuestra política de cookies (Abre ventana modal).
-
Cookies técnicas Siempre activas
Son necesarias para permitirte navegar por nuestra página web y para las tareas básicas para el correcto funcionamiento de la página.