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<#assign groupId = 880311>
16
17<#assign imagenCabecera_ForoI_articleId = "9776888">
18<#assign imagenCabecera_ForoII_articleId = "9777586">
19<#assign imagenCabecera_ForoIII_articleId = "9777704">
20
21<#if numForo = numForo1>
22 <#assign articleId = imagenCabecera_ForoI_articleId>
23<#elseif numForo = numForo2>
24 <#assign articleId = imagenCabecera_ForoII_articleId>
25<#else>
26 <#assign articleId = imagenCabecera_ForoIII_articleId>
27</#if>
28
29<#if !validator.equalsSorted([""], [articleId])>
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
36
37 <#assign video = rootElementcurrentArticle.valueOf("//dynamic-element[@name='video']/dynamic-content/text()") />
38 <#assign imageMobile = rootElementcurrentArticle.valueOf("//dynamic-element[@name='imageMobile']/dynamic-content/text()") />
39 <#assign imageTablet = rootElementcurrentArticle.valueOf("//dynamic-element[@name='imageTablet']/dynamic-content/text()") />
40 <#assign imageDesktop = rootElementcurrentArticle.valueOf("//dynamic-element[@name='imageDesktop']/dynamic-content/text()") />
41 <#assign alt = rootElementcurrentArticle.valueOf("//dynamic-element[@name='alt']/dynamic-content/text()") />
42
43 <#if validator.equalsSorted([""], [video])>
44 <picture>
45 <source srcset="${getFileEntryJson(imageMobile)}" media="(max-width: 480px)">
46 <source srcset="${getFileEntryJson(imageTablet)}" media="(max-width: 992px)">
47 <source srcset="${getFileEntryJson(imageDesktop)}" media="(min-width: 993px)">
48 <img src="${getFileEntryJson(imageDesktop)}" alt="${htmlUtil.escape(alt)}">
49 </picture>
50 <#else>
51 <div class="hidden" id="${portletNamespace}video">
52 <video class="lg-video-object lg-html5" controls >
53 <source src="${video}" type="video/mp4">
54 <@liferay.language key="dpt-imagen-cabecera.html5-not-supported" />
55 </video>
56 </div>
57 <#assign text = languageUtil.get(locale, "dpt-imagen-cabecera.html5-not-supported")>
58 <#assign titleVideo = rootElementcurrentArticle.valueOf("//dynamic-element[@name='video']/dynamic-content") />
59
60 <#assign titleVideo = "">
61
62
63 <#if !validator.equalsSorted([""], [titleVideo])>
64 <#assign titleVideo = "<p>${titleVideo}</p>" >
65 <#else>
66 <#assign titleVideo = "">
67 </#if>
68
69 <#assign description = saxReaderUtil.createXPath("dynamic-element[@name='videoFieldSet']/dynamic-element[@name='videoFieldSetFieldSet']/dynamic-element[@name='description']/dynamic-content").selectSingleNode(rootElementcurrentArticle).getStringValue() >
70 <div id="${portletNamespace}lightGalleryHeader">
71
72 <div
73 data-html="#${portletNamespace}video"
74 data-sub-html="${titleVideo}${description}"
75 tabindex="0" class="bipo-video-pointer">
76 <a href="#" class="bipo_video" role="button">
77 <span class="bipo_reproductor bipoicon icon-play2">
78 <span class="sr-only"><@liferay.language key="dpt-imagen-cabecera.play-video" /></span>
79 </span>
80 <picture>
81 <source srcset="${getFileEntryJson(imageMobile)}" media="(max-width: 480px)">
82 <source srcset="${getFileEntryJson(imageTablet)}" media="(max-width: 992px)">
83 <source srcset="${getFileEntryJson(imageDesktop)}" media="(min-width: 993px)">
84 <img src="${getFileEntryJson(imageDesktop)}" alt="${htmlUtil.escape(alt)}">
85 </picture>
86 </a>
87 </div>
88 </div>
89 <script type="text/javascript">
90 var $galeriaVideo = $(document).ready(function(){
91 $('#${portletNamespace}lightGalleryHeader').lightGallery({
92 thumbnail: false,
93 counter:false,
94 download: false
95 });
96 });
97 $galeriaVideo.on('onAfterAppendSubHtml.lg', function(event){
98 $('.lg-close span.sr-only').text('<@liferay.language key="close" />');
99 $('.lg-toogle-transcription').html('<@liferay.language key="lightgallery.transcription" />');
100 $('.lg-video-play span.sr-only').text('<@liferay.language key="play" />');
101 $('.lg-fullscreen span.sr-only').text('<@liferay.language key="full-screen" />');
102 });
103 </script>
104 </#if>
105</#if>
106<#--
107<#if validator.equalsSorted([""], [video.getData()])>
108 <picture>
109 <source srcset="${imageMobile.getData()}" media="(max-width: 480px)">
110 <source srcset="${imageTablet.getData()}" media="(max-width: 992px)">
111 <source srcset="${imageDesktop.getData()}" media="(min-width: 993px)">
112 <img src="${imageDesktop.getData()}" alt="${htmlUtil.escape(alt.getData())}">
113 </picture>
114<#else>
115 <div class="hidden" id="${portletNamespace}video">
116 <video class="lg-video-object lg-html5" controls >
117 <source src="${video.getData()}" type="video/mp4">
118 <@liferay.language key="dpt-imagen-cabecera.html5-not-supported" />
119 </video>
120 </div>
121
122 <#assign text = languageUtil.get(locale, "dpt-imagen-cabecera.html5-not-supported")>
123 <#if video.getChild('title')??>
124 <#assign titleVideo = "<p>video.getChild('title').getData()</p>" >
125 <#else>
126 <#assign titleVideo = "">
127 </#if>
128 <div id="${portletNamespace}lightGalleryHeader">
129 <div
130 data-html="#${portletNamespace}video"
131 data-sub-html="${titleVideo}${video.getChild('description').getData()}"
132 tabindex="0" class="bipo-video-pointer">
133 <a href="#" class="bipo_video" role="button">
134 <span class="bipo_reproductor bipoicon icon-play2">
135 <span class="sr-only"><@liferay.language key="dpt-imagen-cabecera.play-video" /></span>
136 </span>
137 <picture>
138 <source srcset="${imageMobile.getData()}" media="(max-width: 480px)">
139 <source srcset="${imageTablet.getData()}" media="(max-width: 992px)">
140 <source srcset="${imageDesktop.getData()}" media="(min-width: 993px)">
141 <img src="${imageDesktop.getData()}" alt="${htmlUtil.escape(alt.getData())}">
142 </picture>
143 </a>
144 </div>
145 </div>
146 <script type="text/javascript">
147 var $galeriaVideo = $(document).ready(function(){
148 $('#${portletNamespace}lightGalleryHeader').lightGallery({
149 thumbnail: false,
150 counter:false,
151 download: false
152 });
153 });
154 $galeriaVideo.on('onAfterAppendSubHtml.lg', function(event){
155 $('.lg-close span.sr-only').text('<@liferay.language key="close" />');
156 $('.lg-toogle-transcription').html('<@liferay.language key="lightgallery.transcription" />');
157 $('.lg-video-play span.sr-only').text('<@liferay.language key="play" />');
158 $('.lg-fullscreen span.sr-only').text('<@liferay.language key="full-screen" />');
159 });
160 </script>
161</#if>
162
163-->
164<#--Obtener nombre fichero para src-->
165<#function getFileNameEntryJson url >
166 <#assign urljson = url?eval>
167 <#assign group_id =urljson.groupId />
168 <#assign uuid = urljson.uuid />
169 <#assign fichero = urljson.title />
170 <#return fichero />
171</#function>
172
173<#function getFileEntryJson url >
174
175 <#assign urljson = url?eval>
176 <#assign group_id =urljson.groupId />
177 <#assign uuid = urljson.uuid />
178 <#assign fichero = urljson.title />
179
180 <#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") >
181 <#assign DLFichero= fileEntryService.getDLFileEntryByUuidAndGroupId(uuid?string, group_id?eval) />
182 <#return "/documents/"+group_id+"/"+DLFichero.getFolderId()+"/"+fichero />
183
184</#function>
The following has evaluated to null or missing: ==> request.getParameter(parametro) [in template "842907#842945#9755366" at line 8, 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#9755366" at line 8, column 1] ----
1<!-- SERVICES -->
2<#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") >
3
4<!-- VARIABLES -->
5<#assign portletNamespace = themeDisplay.getPortletDisplay().getId() />
6<#assign renderURL = themeDisplay.getURLCurrent()>
7<#assign parametro = "foro">
8<#assign numForo = request.getParameter(parametro)/>
9<#assign numForo1 ="1"/>
10<#assign numForo2 ="2"/>
11<#assign numForo3 ="3"/>
12
13<#assign groupId = 880311>
14<#assign intro_ForoI_articleId = "9776954">
15<#assign intro_ForoII_articleId = "9777795">
16<#assign intro_ForoIII_articleId = "9777810">
17
18<#if numForo = numForo1>
19 <#assign articleId = intro_ForoI_articleId>
20<#elseif numForo = numForo2>
21 <#assign articleId = intro_ForoII_articleId>
22<#else>
23 <#assign articleId = intro_ForoIII_articleId>
24</#if>
25
26<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
27<#assign journalArticle = journalArticleLocalService.getArticle(groupId, articleId) >
28
29<#assign documentcurrentArticle = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) >
30<#assign rootElementcurrentArticle = documentcurrentArticle.getRootElement() >
31<#assign content = rootElementcurrentArticle.valueOf("//dynamic-element[@name='content']/dynamic-content/text()") />
32
33<#if !validator.equalsSorted([""], [articleId])>
34 ${content}
35</#if>
The following has evaluated to null or missing: ==> request.getParameter(parametro) [in template "842907#842945#9755378" at line 8, 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#9755378" at line 8, column 1] ----
1<!-- SERVICES -->
2<#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") >
3
4<!-- VARIABLES -->
5<#assign portletNamespace = themeDisplay.getPortletDisplay().getId() />
6<#assign renderURL = themeDisplay.getURLCurrent()>
7<#assign parametro = "foro">
8<#assign numForo = request.getParameter(parametro)/>
9<#assign numForo1 ="1"/>
10<#assign numForo2 ="2"/>
11<#assign numForo3 ="3"/>
12
13<#assign groupId = 880311>
14<#--<#assign parrafosTitulados_ForoI_articleId = "8899645">-->
15<#assign parrafosTitulados_ForoI_articleId = "">
16<#assign parrafosTitulados_ForoII_articleId = "9777745">
17<#assign parrafosTitulados_ForoIII_articleId = "9773686">
18
19
20
21
22<#if numForo = numForo1>
23 <#assign articleId = parrafosTitulados_ForoI_articleId>
24<#elseif numForo = numForo2>
25 <#assign articleId = parrafosTitulados_ForoII_articleId>
26<#else>
27 <#assign articleId = parrafosTitulados_ForoIII_articleId>
28</#if>
29
30<#if !validator.equalsSorted([""], [articleId])>
31 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
32 <#assign journalArticle = journalArticleLocalService.getArticle(groupId, articleId) >
33
34 <#assign documentcurrentArticle = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) >
35 <#assign rootElementcurrentArticle = documentcurrentArticle.getRootElement() >
36 <#assign header = rootElementcurrentArticle.valueOf("//dynamic-element[@name='headerFieldSet']/dynamic-element[@name='header']/dynamic-content/text()") />
37
38 <div class="ccm_container_fullgrey pb-6">
39 <div class="container section">
40 <#if !validator.equalsSorted([""], [header])>
41 <div class="row">
42 <div class="col-xxs-12 col-xxs-offset-0 col-xs-10 col-xs-offset-1 col-sm-10 col-sm-offset-1 col-md-12 col-md-offset-0">
43 <span class="bipo_ancla_fixed" id="${portletNamespace}parrafosTitulados"></span>
44 <h2 class="colorrojo"><span>${header?upper_case}</span></h2>
45 </div>
46 </div>
47 </#if>
48 <#assign paragraph = rootElementcurrentArticle.selectNodes("//dynamic-element[@name='paragraphFieldSet']") />
49
50
51 <div class="row">
52 <div id="${portletNamespace}bipo_contenedor_pestanias" class="bipo_contenedor_pestanias">
53 <div class="col-xxs-12 col-xxs-offset-0 col-xs-10 col-xs-offset-1 col-sm-10 col-sm-offset-1 col-md-12 col-md-offset-0">
54 <div class="row">
55 <#if paragraph?has_content>
56 <div class="hidden-xs hidden-sm col-md-3">
57 <div class="bipoinner">
58 <div class="${portletNamespace}bipo_diputacion_menu_pestanias bipo_diputacion_menu_pestanias">
59
60 <ul class="resp-tabs-list bipo_vert1">
61 <#list paragraph as curParagraph>
62 <#assign title = saxReaderUtil.createXPath("dynamic-element[@name='paragraphFieldSetFieldSet']/dynamic-element[@name='title']/dynamic-content").selectSingleNode(curParagraph).data >
63 <#if !validator.equalsSorted([""], [title])>
64 <li>
65 <a href="#${portletNamespace}paragraph-${curParagraph_index}">${title?upper_case}</a>
66 </li>
67 </#if>
68 </#list>
69 </ul>
70
71 </div>
72 </div>
73 </div>
74
75 <div class="col-xxs-12 col-xxs-offset-0 col-xs-12 col-xs-offset-0 col-sm-12 col-sm-offset-0 col-md-9 col-md-offset-0 resp-tabs-container bipo_vert1 ${portletNamespace}contentPestania ">
76 <#list paragraph as curParagraph>
77 <#assign title = saxReaderUtil.createXPath("dynamic-element[@name='paragraphFieldSetFieldSet']/dynamic-element[@name='title']/dynamic-content").selectSingleNode(curParagraph).data >
78 <#if !validator.equalsSorted([""], [title])>
79 <div id="${portletNamespace}paragraph-${curParagraph_index}" class="col-xs-12">
80 <div class="ccm_decalogo_contentPestania col-xxs-12 col-xxs-offset-0 col-xs-10 col-xs-offset-1 col-sm-10 col-sm-offset-1 col-md-12 col-md-offset-0 bipo_diputacion_pestania ">
81 <h3 class="hidden-xs hidden-sm">${title?upper_case}</h3>
82 <#assign description = saxReaderUtil.createXPath("dynamic-element[@name='paragraphFieldSetFieldSet']/dynamic-element[@name='description']/dynamic-content").selectSingleNode(curParagraph).data >
83 ${description}
84
85 <#assign documentos= curParagraph.selectNodes("dynamic-element[@name='paragraphFieldSetFieldSet']/dynamic-element[@name='document']") />
86 <#if documentos?has_content>
87 <#assign tamDocumentos = documentos?size/>
88 <#assign hayDocumentos = "0"/>
89 <#list documentos as curDocumento>
90 <#assign documento = curDocumento.valueOf("dynamic-element[@name='paragraph']/dynamic-content/text()") />
91 <#if (validator.isNotNull(documento) && !validator.equalsSorted([documento],[""] ))>
92 <#assign hayDocumentos = "1"/>
93 </#if>
94 </#list>
95 </#if>
96 <#if hayDocumentos = "1">
97 <ul>
98 <#list documentos as curDocumento>
99 <#assign documento = curDocumento.valueOf("dynamic-element[@name='paragraph']/dynamic-content/text()") />
100 <#if (validator.isNotNull(documento) && !validator.equalsSorted([documento],[""] ))>
101 <#assign fileEntry = getFileEntryJson(documento) >
102 <#assign title = getFileNameEntryJson(documento) >
103 <#assign enlace = replaceSpecialCharacters(fileEntry)>
104 <li>
105 <a href="${enlace}">${title}</a>
106 </li>
107 </#if>
108 </#list>
109 </ul>
110 </#if>
111
112 </div>
113 </div>
114 </#if>
115 </#list>
116 </div>
117 </#if>
118 </div>
119 </div>
120 </div>
121 </div>
122
123 </div>
124 </div>
125
126</#if>
127<script>
128
129$(document).ready(function() {
130
131 $('#${portletNamespace}bipo_contenedor_pestanias').easyResponsiveTabs({
132 tabidentify: "bipo_vert1",
133 width: "992px",
134 closed: "accordion",
135 read_more: false
136 });
137
138 $('.${portletNamespace}bipo_diputacion_menu_pestanias').scrollToFixed({
139 marginTop: 140,
140 limit: function() {
141 var limite = 0;
142 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);
143 return limite;
144 },
145 zIndex: 1,
146 minWidth: 992,
147 removeOffsets: true
148 });
149
150 var ${portletNamespace}fixBipoMenuPestainaTop = function() {
151 if ($('.${portletNamespace}bipo_diputacion_menu_pestanias').css('position') == 'absolute'){
152 $('.${portletNamespace}bipo_diputacion_menu_pestanias').css('position','static');
153 }
154
155 var ${portletNamespace}pos5 = $('#${portletNamespace}bipo_contenedor_pestanias').offset();
156 var ${portletNamespace}offsetMenu5 = parseInt(${portletNamespace}pos5.top, 10);
157 $(document).scrollTop( ${portletNamespace}offsetMenu5 - 200 );
158 ${portletNamespace}cargarReadMore();
159 }
160
161 $( '#${portletNamespace}bipo_contenedor_pestanias li.resp-tab-item a ' ).on( 'click', function() {
162 setTimeout(function(){$(window).resize();${portletNamespace}fixBipoMenuPestainaTop()},1);
163 });
164
165 /* $(document).on( 'click','.${portletNamespace}button', function() {
166 if ($( ".resp-tab-content-active .bipo_toggle_contenido span" ).hasClass( "icon-flecha_acordeon_plegar" )){
167 }else{
168 setTimeout(function(){$(window).resize();${portletNamespace}fixBipoMenuPestainaTop()},1);
169 }
170 });*/
171
172 ${portletNamespace}cargarReadMore();
173
174});
175
176function ${portletNamespace}cargarReadMore(){
177 $("#${portletNamespace}bipo_contenedor_pestanias .bipo_diputacion_pestania").each(function() {
178 $(this).readmore('destroy');
179 $(this).readmore({
180 collapsedHeight: 450,
181 heightMargin: 23,
182 embedCSS: false,
183 moreLink: '<p><button class="${portletNamespace}button bipo_toggle_contenido ccm-btn_readMore hidden-xxs hidden-xs hidden-sm"><span class="bipoicon icon-flecha_acordeon_desplegar"></span><span class="bipo_texto_boton"><@liferay.language key="dpt-parrafos-titulados.show-more" /></span></button></p>',
184 lessLink: '<p><button class="${portletNamespace}button bipo_toggle_contenido ccm-btn_readMore hidden-xxs hidden-xs hidden-sm"><span class="bipoicon icon-flecha_acordeon_plegar"></span><span class="bipo_texto_boton"><@liferay.language key="dpt-parrafos-titulados.show-less" /></span></button></p>',
185 startOpen: true,
186 blockProcessed: function() {$(document).on('click','#${portletNamespace}bipo_contenedor_pestanias .bipo_toggle_contenido',function(){setTimeout(function(){$('#${portletNamespace}bipo_contenedor_pestanias .bipo_diputacion_menu_pestanias').trigger('resize');${portletNamespace}fixBipoMenuPestainaTop()},1);
187 $('[id*=rmjs]').removeAttr("aria-expanded");});
188 },
189 beforeToggle: function() {$(document).on('click','#${portletNamespace}bipo_contenedor_pestanias .bipo_toggle_contenido',function(){setTimeout(function(){$('#${portletNamespace}bipo_contenedor_pestanias .bipo_diputacion_menu_pestanias').trigger('resize');${portletNamespace}fixBipoMenuPestainaTop()},1);});
190 }
191 });
192 });
193}
194</script>
195
196<#--Obtener fichero para src-->
197<#function getFileEntryJson url >
198 <#assign urljson = url?eval>
199 <#assign group_id =urljson.groupId />
200 <#assign uuid = urljson.uuid />
201 <#assign fichero = urljson.title />
202 <#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") >
203 <#assign DLFichero= fileEntryService.getDLFileEntryByUuidAndGroupId(uuid?string, group_id?eval) />
204 <#return "/documents/"+group_id+"/"+DLFichero.getFolderId()+"/"+fichero />
205</#function>
206
207<#--Obtener nombre fichero para src-->
208<#function getFileNameEntryJson url >
209 <#assign urljson = url?eval>
210 <#assign group_id =urljson.groupId />
211 <#assign uuid = urljson.uuid />
212 <#assign fichero = urljson.title />
213 <#return fichero />
214</#function>
215
216
217<#function replaceSpecialCharacters(url)>
218 <#return htmlUtil.escapeHREF(url?replace("|","%7C")) />
219</#function>
The following has evaluated to null or missing: ==> request.getParameter(parametro) [in template "842907#842945#9755370" at line 8, 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#9755370" at line 8, column 1] ----
1<!-- SERVICES -->
2<#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") >
3<#assign textFormatter = staticUtil["com.liferay.portal.kernel.util.TextFormatter"]>
4<!-- VARIABLES -->
5<#assign portletNamespace = themeDisplay.getPortletDisplay().getId() />
6<#assign renderURL = themeDisplay.getURLCurrent()>
7<#assign parametro = "foro">
8<#assign numForo = request.getParameter(parametro)/>
9<#assign numForo1 ="1"/>
10<#assign numForo2 ="2"/>
11<#assign numForo3 ="3"/>
12
13<#assign groupId = 880311>
14<#assign archivos_ForoI_articleId = "9777121">
15<#assign archivos_ForoII_articleId = "9777835">
16<#assign archivos_ForoIII_articleId = "9777944">
17
18<#if numForo = numForo1>
19 <#assign articleId = archivos_ForoI_articleId>
20<#elseif numForo = numForo2>
21 <#assign articleId = archivos_ForoII_articleId>
22<#else>
23 <#assign articleId = archivos_ForoIII_articleId>
24</#if>
25
26<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
27<#assign journalArticle = journalArticleLocalService.getArticle(groupId, articleId) >
28
29<#assign documentcurrentArticle = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) >
30<#assign rootElementcurrentArticle = documentcurrentArticle.getRootElement() >
31<#assign content = rootElementcurrentArticle.valueOf("//dynamic-element[@name='content']/dynamic-content/text()") />
32
33
34<#if !validator.equalsSorted([""], [articleId])>
35
36 <div id="${portletNamespace}ccm_acciones_CiudadaniaCajaGris" class="ccm_container_fullblanco pb-6 mb-3">
37 <div class="container ccm_content">
38 <div class="row">
39 <div class="col-sm-12 col-md-8 pr-md-5">
40 <#assign titulo = rootElementcurrentArticle.valueOf("//dynamic-element[@name='titulo']/dynamic-content/text()") />
41 <#if (validator.isNotNull(titulo) && !validator.equalsSorted([titulo],[""] ))>
42 <h2 class=""><span>${titulo?upper_case}</span></h2>
43 </#if>
44 </div>
45 </div>
46
47 <@pintarDocumentos/>
48
49
50 </div>
51 </div>
52
53</#if>
54
55<#function replaceSpecialCharacters(url)>
56 <#return htmlUtil.escapeHREF(url?replace("|","%7C")) />
57</#function>
58
59
60<#macro pintarDocumentos>
61 <#assign nombreDocumento = "" />
62 <#assign documento = "" />
63 <#assign fileEntry = ""/>
64 <#assign extension =""/>
65 <#assign size=""/>
66 <#assign tamanyo ="" />
67 <#assign currentArticleDocumentos = rootElementcurrentArticle.selectNodes("dynamic-element[@field-reference='documentoFieldSet']") />
68 <#if currentArticleDocumentos?has_content>
69 <#assign tamDocumentos = currentArticleDocumentos?size/>
70 <div class="row">
71 <div class="col-md-12">
72 <#if tamDocumentos gt 1>
73 <ul class="bipo-ccm_listas listasPDF">
74 </#if>
75
76 <#list currentArticleDocumentos as curDocumento>
77 <#assign nombreDocumento ="">
78 <#assign nombreDocumento= saxReaderUtil.createXPath("dynamic-element[@field-reference='documentoFieldSetFieldSet']/dynamic-element[@name='tituloDocumento']/dynamic-content").selectSingleNode(curDocumento).data >
79 <#assign documento = curDocumento.valueOf("dynamic-element[@field-reference='documento']/dynamic-content/text()") />
80 <#assign extension ="">
81 <#assign size = "">
82 <#-- SI HAY DOCUMENTO SE PINTA ELEMENTO -->
83 <#if (validator.isNotNull(documento) && !validator.equalsSorted([documento],[""] ))>
84
85 <#assign target="target='_blank'">
86 <#assign title=languageUtil.get(locale, 'ccm.opens-new-window')>
87 <#assign fileEntry = getFileEntryInfo(documento) />
88 <#assign extension = fileEntry.extension?upper_case>
89 <#assign size =textFormatter.formatStorageSize(fileEntry.size, locale)?upper_case>
90 <#assign file = getFileEntryJson(documento) />
91 <#if (size?contains("KB"))>
92 <#assign tamanyo = size?replace("KB", "<abbr title='Kilobytes' lang='en'>KB</abbr>")>
93 <#elseif (size?contains("MB"))>
94 <#assign tamanyo = size?replace("MB", "<abbr title='Megabytes' lang='en'>MB</abbr>")>
95 </#if>
96
97 <#if tamDocumentos gt 1>
98 <li>
99 <#else>
100 <p class="bipo-ccm_listas listasPDF">
101 </#if>
102 <a href="${file}" ${target} title="${title}">
103 <span class="bipoicon icon-descargar">${extension}</span>
104 ${nombreDocumento} <span class="typeOswald">(${tamanyo})</span>
105 </a>
106 <#if tamDocumentos gt 1>
107 </li>
108 <#else>
109 </p>
110 </#if>
111
112 </#if>
113 </#list>
114 <#if tamDocumentos gt 1>
115 </ul>
116 </#if>
117 </div>
118 </div>
119 </#if>
120</#macro>
121
122
123<#--Obtener fichero para src-->
124<#function getFileEntryJson url >
125 <#assign urljson = url?eval>
126 <#assign group_id =urljson.groupId />
127 <#assign uuid = urljson.uuid />
128 <#assign fichero = urljson.title />
129 <#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") >
130 <#assign DLFichero= fileEntryService.getDLFileEntryByUuidAndGroupId(uuid?string, group_id?eval) />
131 <#return "/documents/"+group_id+"/"+DLFichero.getFolderId()+"/"+fichero />
132</#function>
133
134<#--Obtener fichero para obtener size, extension....-->
135<#function getFileEntryInfo url >
136 <#assign urljson = url?eval>
137 <#assign group_id =urljson.groupId />
138 <#assign uuid = urljson.uuid />
139 <#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") >
140 <#return fileEntryService.getDLFileEntryByUuidAndGroupId(uuid?string, group_id?eval) />
141</#function>
Cookieak
Cookie propioak eta hirugarrenen cookieak erabiltzen ditugu tekniko- analisi- eta pertsonalizazio- helburuetarako, hala nola erabiltzaileak zer nabigazio-hizkuntza erabili duen jakiteko. Informazio gehiagorako, kontsulta ezazu gure cookien politika (Leiho modala ireki).
Aldatu hona: ES
Cookien politika
Web-orri honek, https://www.bizkaia.eus (aurrerantzean, "Webgunea"), nabigazioaren bidez eta zerbitzuaren hartzailearen IP helbidearen bidez nabigazioaren beraren jarraipena egiteko tresnak erabiltzen ditu; honela, zerbitzuak edo haren funtzionamendu teknikoa hobetzeko eta bermatzeko, beste erabiltzaile batzuengandik bereizteko eta nabigazio-ohiturak aztertzeko.
Cookien politika honen helburua da erabiltzen ditugun cookien funtzionamenduari eta erabilgarritasunei buruzko informazio argi eta zehatza ematea.
Zer dira eta zertarako erabiltzen ditugu cookieak?
Cookie bat webgune jakin batzuetan sartzen zarenean zure ordenagailuan deskargatzen den fitxategi bat da.
Cookiek, besteak beste, erabiltzaile baten edo haren ekipamenduaren nabigazio-ohiturei buruzko informazioa biltzea eta berreskuratzea ahalbidetzen diote webgune bati. Barne hartzen duten informazioaren arabera eta ekipamendua erabiltzen den moduaren arabera, erabiltzailea ezagutzeko erabili daitezke.
Indarrean dagoen legeak aukera ematen du cookieak bere gailuan gordetzeko, webgune honen funtzionamendurako behar-beharrezkoak badira. Hala ere, gainerako cookie motetarako baimena beharko dugu.
Cookie motak, horiek kudeatzen dituen erakundearen arabera
Cookieak bidaltzen dituen ekipo edo domeinua kudeatzen eta jasotako datuak tratatzen dituenaren arabera, honako hauek bereizten ditugu:
- Cookie propioak: Bizkaiko Foru Aldundiak kudeatzen dituenak.
-
Hirugarrenen cookieak: cookien bidez bildutako datuak erabiltzen dituen beste erakunde batek kudeatzen ditu.
Webgune honetan Eusko Jaurlaritzaren cookieak aurki daitezke, bere helburuetarako erabiliak eta Bizkaiko Foru Aldundiaz kanpoko domeinuetan gordetzen direnak.
Cookie motak, xedearen arabera
- Cookie teknikoak: erabiltzaileak webgune, plataforma edo aplikazio batean nabigatzea ahalbidetzen dute, baita horietan dauden aukera edo zerbitzu desberdinak erabiltzea ere; hala nola, trafikoa kontrolatzea eta datuak komunikatzea, saioa identifikatzea, sarrera mugatua duten ataletan sartzea, ekimen batean izena emateko edo parte hartzeko eskaera egitea, hedapenerako bideoak edo soinua daukaten edukia gordetzea edo sare sozialen bidez edukiak partekatzea.
- Analisi-cookieak: erabiltzaile kopurua zenbatzea ahalbidetzen dute, baita nabigazioaren neurketa eta analisi estatistikoa egitea ere. Horren helburua eskura dauden zerbitzuak hobetzea da. Propioak edo hirugarren batenak izan daitezke.
- Pertsonalizazio-cookieak: erabiltzaileak zerbitzura sartzea ahalbidetzen dute erabiltzailearen gailuan aurretik definitutako irizpide batzuen araberako ezaugarri orokor batzuekin; hala nola, hizkuntza, zerbitzura sartzeko erabiltzen den nabigatzaile mota, zerbitzura sartzeko erabiltzen duen eskualdeko konfigurazioa, eta abar.
Cookien iraupena
- Saiorako cookieak: erabiltzailea webgune batera sartzen den bitartean datuak bildu eta gordetzen dituzte.
- Cookie iraunkorrak: datuek gailuan gordeta jarraitzen dute, eta horietara sartu daiteke eta horiek tratatu cookie-en arduradunak definitutako aldi batean. Aldi hori minutu batzuetatik zenbait urtetara bitartekoa izan daiteke.
Zer cookie erabiltzen ditu webgune honek?
Lerro bakoitzean cookie(teknikoak) bati buruzko datuak
Izena | Mota | Helburua | Iraupena |
---|---|---|---|
JSESSIONID | Saioa identifikatzea | Saioa | Bizkaiko Foru Aldundia |
ASPSESSIONID | Saioa identifikatzea | Saioa | Bizkaiko Foru Aldundia |
TS01 | Saioa identifikatzea | Saioa | Bizkaiko Foru Aldundia |
LFR_SESSION_STATE | Saioa identifikatzea | Saioa | Bizkaiko Foru Aldundia |
COOKIE_SUPPORT | Adierazi ea erabiltzaileak aktibatuta daukan cookietarako laguntza | Urtebete | Bizkaiko Foru Aldundia |
pc_tecnicas_bizkaia | Tekniken cookien blokeari buruzko onarpen/errefusatze lehentasunak jasotzea | Urtebete | Bizkaiko Foru Aldundia |
pc_analitica_bizkaia | Analisien cookien blokeari buruzko onarpen/errefusatze lehentasunak jasotzea | Urtebete | Bizkaiko Foru Aldundia |
pc_preferencias_bizkaia | Lehentasunen cookien blokeari buruzko onarpen/errefusatze lehentasunak jasotzea | Urtebete | Bizkaiko Foru Aldundia |
pc_terceros_bizkaia | Hirugarrenen cookien blokeari buruzko onarpen/errefusatze lehentasunak jasotzea | Urtebete | Bizkaiko Foru Aldundia |
Kultursistema_session | Erabiltzailearen saioa mantendu | Ordu 1 | Kultursistema |
CPLB | Karga orekatzeko gure zerbitzariek erabilitako informazioa jasotzen du | Saioa | Bizkaiko Foru Aldundia |
XSRF-TOKEN | CSRF (Cross Site Request Forgery) erasoak saihesteko | Ordu 1 | Kultursistema |
_GRECAPTCHA | Babestu webgunea spametik eta indar handiko erasoetatik | 6 hilabete |
Lerro bakoitzean analisirako cookie bati buruzko datuak
Izena | Mota | Helburua | Iraupena |
---|---|---|---|
dtCookie | Bisita bat arakatzen du hainbat eskaeraren bidez | Saioa | Bizkaiko Foru Aldundia |
dtLatC | Zerbitzariaren sortasuna neurtzen du errendimenduaren monitorizaziorako | Saioa | Bizkaiko Foru Aldundia |
dtPC | Beharrezkoa balizen transmisiorako parametro egokiak identifikatzeko; korrelaziorako saioaren IDa barne hartzen du | Saioa | Bizkaiko Foru Aldundia |
dtSa | Erdi mailako biltegia orrialdeak hartzen dituzten ekintzetarako | Saioa | Bizkaiko Foru Aldundia |
rxVisitor | Bisitariaren ID saioak korrelazioan jartzeko | Etengabe | Bizkaiko Foru Aldundia |
rxvt | Saioaren itxarote-denbora | Saioa | Bizkaiko Foru Aldundia |
iyrc-user-id | Erabiltzaileak bereiztea | Ordu 1 | Bizkaiko Foru Aldundia |
_ga, _ga_XXXXXXXXXXX | Erabiltzailea bereiztea | 2 urte | Google Analytics |
_gat, _gat_XXXXXXXXXXX | Eskaeren ehunekoa mugatzea | Minutu 1 | Google Analytics |
_gid | Erabiltzaileak bereiztea | Egun 1 | Google Analytics |
MUID | Erabiltzailea bereiztea | Urtebete | Microsoft Clarity |
_clck | Lehentasunak esleitzea erabiltzaile berdinari | Urtebete | Microsoft Clarity |
_clsk | Konektatu saio batean ikusitako hainbat orri | Urtebete | Microsoft Clarity |
CLID | Identifikatu erabiltzaile baten lehenengo bisita | Urtebete | Microsoft Clarity |
ANONCHK | Erabiltzailea bereiztea | Egun 1 | Microsoft Clarity |
MR | Adierazi noiz freskatu MUID | 6 hilabete | Microsoft Clarity |
SM | Sinkronizatu MUID Microsoft inguruan | Urtebete | Microsoft Clarity |
Lerro bakoitzean cookie(Pertsonalizazio) bati buruzko datuak
Izena | Mota | Helburua | Iraupena |
---|---|---|---|
Idioma | Erabiltzailearen hizkuntzarik gustukoena aukeratzea | Urtebete | Bizkaiko Foru Aldundia |
cookie-tramites-favs | Gorde gogoko izapideak Aurretiazko Hitzorduan | Urtebete | Bizkaiko Foru Aldundia |
Lerro bakoitzean cookie(Hirugarrenen) bati buruzko datuak
Izena | Mota | Helburua | Iraupena |
---|---|---|---|
CLID | Identifikatu erabiltzaile baten lehenengo bisita | Urtebete | Microsoft Clarity |
APISID | Gorde erabiltzailearen lehentasunak eta informazioa orriak bistaratzean, Google mapak bertan daudela. | 2 urte | |
HSID | Iruzurra prebenitzea | 2 urte | |
MUID | Bereizi erabiltzailea | Urtebete | Microsoft Clarity |
NID | Gogoratu bere lehentasunak eta beste edozein informazio | 6 hilabete | |
SAPISID | Erakutsi iragarki pertsonalizatuak Googleko webguneetan | 2 urte | |
SID | Eskaini iragarkiak edo retargeting entregatzea, eskaini iruzurra prebenitzea. | 2 urte | |
SIDCC | Eskaini web-trafiko fidagarriaren identifikazioa. | Urtebete | |
SM | Microsoften domeinuen arteko MUIDa sinkronizatzeko erabiltzen da | Saioa | Microsoft Clarity |
SSID | Eskaini iragarkiak edo retargeting entregatzea, eskaini iruzurra prebenitzea. | 2 urte | |
__Secure-1PAPISID | Sortu webgunearen bisitariaren interesen profil bat, Googleren publizitate garrantzitsua eta pertsonalizatua erakusteko. | 2 urte | |
__Secure-1PSID | Sortu webgunearen bisitariaren interesen profil bat, Googleren publizitate garrantzitsua eta pertsonalizatua erakusteko. | 2 urte | |
__Secure-1PSIDCC | Sortu webgunearen bisitarien interesen profil bat, retargeting bidez erakusteko iragazki garrantzitsu eta pertsonalizatuak. | Urtebete | |
__Secure-1PSIDTS | Sortu webgunearen bisitarien interesen profil bat, retargeting bidez erakusteko iragazki garrantzitsu eta pertsonalizatuak. | Urtebete | |
__Secure-3PSID | Sortu webgunearen bisitariaren interesen profil bat, Googleren publizitate garrantzitsua eta pertsonalizatua erakusteko. | 2 urte | |
__Secure-3PSIDCC | Sortu webgunearen bisitariaren interesen profil bat, Googleren publizitate garrantzitsua eta pertsonalizatua erakusteko. | Urtebete | |
__Secure-3PSIDTS | Sortu webgunearen bisitarien interesen profil bat, retargeting bidez erakusteko iragazki garrantzitsu eta pertsonalizatuak. | Urtebete | |
__Secure-ENID | Webguneko zerbitzuak eta aukerak erabiltzeko beharrezko cookiea | Urtebete | |
ar_debug | Araztu iragarkiak. | Urtebete | |
MR | Adierazi noiz freskatu MUID | 6 hilabete | Microsoft Clarity |
XSRF-TOKEN | CSRF (Cross Site Request Forgery) erasoak saihesteko | 1 ordu | Kultursistema |
_fbp | Gorde eta arakatu webguneetan bisitak | Urtebete | |
kultursistema_session | Mantendu erabiltzailearen saioa | 1 ordu | Kultursistema |
AEC | Detektatu spam, iruzurra eta gehiegikeria | 6 hilabete | |
SOCS | Gorde erabiltzailearen cookie-aukerak | 13 hilabete | |
Locale | Ez dago eskuragarri | Gobierno Vasco | |
_hegoa_coop_session | Sortu erabiltzaileentzat saio-identifikatzaile bat | Saioa | Gobierno Vasco |
Nola desaktibatu edo ezabatu daitezke cookieak?
Erabiltzaileak, Webgunera lehen aldiz sartzen denean, cookieak konfiguratu eta onartu edo baztertu ahal izango ditu webgunean bertan. Ondoren, erabiltzaileak edozein unetan aldatu edo kendu ahal izango du baimena cookien politika honen bidez edo konfigurazioaren bidez.
Hala ere, edozein unetan baliatu ahal izango duzu horiek libreki desaktibatzeko eskubidea, bai eta webgune honetako cookieak ezabatzekoa ere. Ekintza horiek desberdin egiten dira, erabiltzen ari zaren nabigatzailearen arabera. Hemen utziko dizugu nabigatzaile ezagunenetarako gida azkar bat.
- Desaktibatu cookieak Chromen
- Desaktibatu cookieak Exploreren
- Desaktibatu cookieak FireFoxen
- Desaktibatu cookieak Safarin
- Desaktibatu cookieak Edgen
Cookie-ak desaktibatu edo ezabatzen badira baliteke webguneko zenbait funtzionaltasun ondo ez ibiltzea.
Aldaketak Cookien Politikan
Webguneak cookien politika hau aldatzeko eskubidea gordetzen du, betiere, indarrean dagoen legediak baimentzen duen moduan. Horregatik, gure webgunera sartzen zaren bakoitzean politika hori berrikusteko gomendatzen dizugu, dagozkion eguneraketa- eta informazio-ondorioetarako.
Cookieak konfiguratzea
Jarraian, erakutsiko dizugu gure webguneak zer kategoriatarako erabiltzen dituen cookieak. Haiek onartuta edo ukatuta zure aukeraketa pertsonaliza dezakezu, horretarako dauden botoien bidez. Informazio gehiagorako, kontsulta ezazu gure cookien politika (Leiho modala ireki).
-
Cookie teknikoak Beti aktibo
Beharrezkoak dira gure webgunean nabigatzeko eta oinarrizko zereginetarako, webguneak behar bezala funtziona dezan.