Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> dataActivitatF [in template "10311#10344#ACTIVITATS" at line 79, column 102] ---- 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 dataActivitat = "Del " + data... [in template "10311#10344#ACTIVITATS" at line 79, column 29] ----
1<#assign journalArticleLocalService= serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
2<#assign assetCategoryServiceUtil= serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
3<#assign assetTagServiceUtil= serviceLocator.findService("com.liferay.asset.kernel.service.AssetTagLocalService")>
4<#assign groupModelUtil= serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")>
5
6<#assign currentArticle= journalArticleLocalService.getArticle( getterUtil.getLong( groupId), .vars["reserved-article-id"].data)>
7<#assign category= assetCategoryServiceUtil.getCategories("com.liferay.journal.model.JournalArticle", getterUtil.getLong( currentArticle.getResourcePrimKey()))>
8
9<#assign tag= assetTagServiceUtil.getTags("com.liferay.journal.model.JournalArticle", getterUtil.getLong( currentArticle.getResourcePrimKey()))>
10<#assign currentGroup= groupModelUtil.getGroup( groupId)>
11
12
13<meta name="og:title" content="${htmlUtil.escape(act_titol.getData())}" />
14<meta name="og:description" content="${htmlUtil.escape(htmlUtil.stripHtml(stringUtil.trim(act_descripcio.getData())))}" />
15<meta name="twitter:title" content="${htmlUtil.escape(act_titol.getData())}" />
16<meta name="twitter:description" content="${htmlUtil.escape(htmlUtil.stripHtml(stringUtil.trim(act_descripcio.getData())))}" />
17<meta name="twitter:card" content="summary_large_image" />
18<section>
19 <article>
20 <div class="row">
21 <div class="col-12 col-lg-7">
22
23 <#if category?has_content>
24 <p style="color:#006163">
25 <#list category as categoria>
26 <#if categoria.vocabularyId== getterUtil.getLong("32255")>
27 ${categoria.name}
28 <#break>
29 </#if>
30 </#list>
31 </p>
32 </#if>
33
34 <h2 class="section_cab mb-3 h3" style="margin:0 0 0 0;color:#006163">${act_titol.getData()}</h2>
35 <#if category?has_content>
36 <div class="categories mb-3">
37 <span>
38 <#assign primeraCat=true>
39 <#list category as categoria>
40 <#if categoria.vocabularyId== getterUtil.getLong("32620")>
41 <#if !primeraCat>
42 |
43 </#if>
44 ${categoria.name}
45 <#assign primeraCat=false>
46 </#if>
47 </#list>
48 </span> <br>
49 </div>
50 </#if>
51 <!--Dades-->
52 <div class="dades-activitat">
53 <div class="row py-3">
54 <div class="col-6 col-esquerra">
55 <div class="data mt-2">
56 <#assign dataInicial_Data= getterUtil.getString( dataInicial.getData())>
57 <#if dataInicial_Data?has_content>
58 <#assign dataInicial_DateObj= dateUtil.parseDate("yyyy-MM-dd", dataInicial_Data, locale)>
59 </#if>
60
61 <#assign dataFinal_Data= getterUtil.getString( dataFinal.getData())>
62
63 <#if dataFinal_Data?has_content>
64 <#assign dataFinal_DateObj= dateUtil.parseDate("yyyy-MM-dd", dataFinal_Data, locale)>
65 <#assign dataActivitatF = dateUtil.getDate(dataFinal_DateObj,"dd/MM/yyyy",locale)>
66 </#if>
67
68 <#if dataInicial_DateObj?? && dataInicial_DateObj?has_content>
69 <#assign dia= dateUtil.getDate(dataInicial_DateObj,"dd",locale)>
70 <#assign anyo= dateUtil.getDate(dataInicial_DateObj,"yyyy", locale)>
71 <#assign nommes= dateUtil.getDate(dataInicial_DateObj,"MMM", locale)>
72 <#assign dataActivitat = dateUtil.getDate(dataInicial_DateObj,"dd/MM/yyyy",locale)>
73 </#if>
74 <#if dataInicial_Data!= dataFinal_Data>
75
76 <#assign finsText>
77 <@liferay.language key="parc.activitat.fins" />
78 </#assign>
79 <#assign dataActivitat = "Del " + dataActivitat + " " + finsText + " " + dataActivitatF>
80
81 </#if>
82
83 <#if dataActivitat??>
84 <p class="font-weight-bold"><i class="fa-solid fa-calendar-days icon-large"></i> ${dataActivitat}</p>
85 </#if>
86 <#if act_horari_complet?? && act_horari_complet.getData()?has_content>
87 <p><i class="fa-solid fa-clock icon-large"></i> ${act_horari_complet.getData()}</p>
88 <#elseif act_horari?? && act_horari.getData()?has_content>
89 <p><i class="fa-solid fa-clock icon-large"></i> ${act_horari.getData()}</p>
90 </#if>
91 </div>
92
93
94 <#if act_acces.getData()?has_content>
95 <#if stringUtil.equals(act_acces.getData(),"Gratuit")>
96 <p><span class="font-weight-bold"><@liferay.language key= "parc.activitat.acces"/>:</span> <@liferay.language key= "parc.activitat.gratuit"/></p>
97 <#elseif stringUtil.equals(act_acces.getData(),"Pagant")>
98 <p><span class="font-weight-bold"><@liferay.language key="parc.activitat.acces"/>:</span> <@liferay.language key= "parc.activitat.pagant"/>
99 <#if act_acces_preu.getData()?has_content>
100 - ${act_acces_preu.getData()}
101 </#if>
102 </p>
103 </#if>
104 </#if>
105
106 <#if act_public?? && act_public.getData()?has_content>
107 <#if stringUtil.equals(act_public.getData(),"G")>
108 <p><span class="font-weight-bold"><@liferay.language key= "parc.activitat.tipuspublic"/>:</span> <@liferay.language key= "parc.activitat.general"/></p>
109 </#if>
110 <#if stringUtil.equals(act_public.getData(),"F")>
111 <p><span class="font-weight-bold"><@liferay.language key= "parc.activitat.tipuspublic"/>:</span> <@liferay.language key= "parc.activitat.familiar"/></p>
112 </#if>
113 <#if stringUtil.equals(act_public.getData(),"E")>
114 <p><span class="font-weight-bold"><@liferay.language key= "parc.activitat.tipuspublic"/>:</span> <@liferay.language key= "parc.activitat.escolar"/></p>
115 </#if>
116 <#if stringUtil.equals(act_public.getData(),"N")>
117 <p><span class="font-weight-bold"><@liferay.language key= "parc.activitat.tipuspublic"/>:</span> <@liferay.language key= "parc.activitat.naturalista"/></p>
118 </#if>
119 <#if stringUtil.equals(act_public.getData(),"V")>
120 <p><span class="font-weight-bold"><@liferay.language key= "parc.activitat.tipuspublic"/>:</span> <@liferay.language key= "parc.activitat.viuen"/></p>
121 </#if>
122 <#if stringUtil.equals(act_public.getData(),"O")>
123 <p><span class="font-weight-bold"><@liferay.language key= "parc.activitat.tipuspublic"/>:</span> <@liferay.language key= "parc.activitat.grups"/></p>
124 </#if>
125 <#if stringUtil.equals(act_public.getData(),"C")>
126 <p><span class="font-weight-bold"><@liferay.language key= "parc.activitat.tipuspublic"/>:</span> <@liferay.language key= "parc.activitat.cientifics"/></p>
127 </#if>
128 </#if>
129 </div>
130 <div class="col-6 col-dreta">
131 <#if act_lloc1?? && act_lloc1.getData()?has_content>
132 <i class="fa-solid fa-location-dot icon-large"></i> ${act_lloc1.getData()}<br />
133 ${act_lloc2.getData()}<br />
134 <#if act_poblacio?? && act_poblacio.getData()?has_content>
135 <p>${act_poblacio.getData()}</p>
136 </#if>
137 </#if>
138 <#if act_trobada1.getData()?has_content>
139 <p><span class="font-weight-bold"><@liferay.language key="parc.activitat.lloc-trobada"/>:</span> ${act_trobada1.getData()} <br />${act_trobada2.getData()}</p>
140 </#if>
141 <#if act_organitzador.getData()?has_content>
142 <p><span class="font-weight-bold"><@liferay.language key="agenda.organitzadors"/>:</span> ${act_organitzador.getData()}</p>
143 </#if>
144
145 <#if act_telefon.getData()?has_content>
146 <p><i class="fa-solid fa-phone"></i> ${act_telefon.getData()}</p>
147 </#if>
148 <#assign isEmail=false>
149 <#list act_adreca.getSiblings() as email>
150 <#if email.getData()?has_content>
151 <#assign isEmail=true>
152 <#break>
153 </#if>
154 </#list>
155 <#if isEmail>
156 <p>
157 <#list act_adreca.getSiblings() as email>
158 <i class="fa-solid fa-envelope"></i><a href="mailto:${email.getData()}"> ${email.getData()}</a>
159 </#list>
160 </p>
161 </#if>
162 </div>
163 </div>
164
165 </div>
166
167
168 </div>
169
170
171
172 <div class="col-12 col-lg-5">
173
174
175 <#assign urlImgEntry= act_img_interior.getData()>
176 <#if !urlImgEntry?has_content || urlImgEntry?length ==0>
177 <#if act_img_interior.urlExterna?? && act_img_interior.urlExterna.getData()?has_content>
178 <#assign urlImgEntry= act_img_interior.urlExterna.getData()>
179 <#if urlImgEntry?has_content && urlImgEntry?length gt 0>
180 <meta property="og:image" content="${urlImgEntry}" />
181 <meta name="twitter:image" content="${urlImgEntry}" />
182 </#if>
183 </#if>
184 <#else>
185 <#if urlImgEntry?has_content && urlImgEntry?length gt 0>
186 <meta property="og:image" content="https://parcs.diba.cat${urlImgEntry}" />
187 <meta name="twitter:image" content="https://parcs.diba.cat${urlImgEntry}" />
188 </#if>
189 </#if>
190 <#if urlImgEntry?has_content>
191 <#if act_img_interior.act_img_alt.getData()?has_content>
192 <#assign altAuxImg= act_img_interior.act_img_alt.getData()>
193 </#if>
194 <div class="imagen_float_left">
195 <#-------------------------------------------------------------------------UNIFICACION PLANTILLAS METAINFO IMATGES INI------------------------------------------------------------------------->
196 <#if urlImgEntry?has_content>
197
198
199
200
201
202
203
204 <#----------------------------METAINFO_IMG_GETINFO INI---------------------------->
205 <#assign DLFileEntryUtil= serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
206
207 <#assign uuIdImagen= staticUtil['com.liferay.portal.kernel.util.HttpComponentsUtil'].getParameter( urlImgEntry,"uuid",false)>
208 <#if uuIdImagen?has_content>
209
210 <#assign groupIdImagen= staticUtil['com.liferay.portal.kernel.util.HttpComponentsUtil'].getParameter( urlImgEntry,"groupId",false)>
211
212
213
214 <#assign current= DLFileEntryUtil.fetchDLFileEntryByUuidAndGroupId( uuIdImagen, getterUtil.getLong( groupIdImagen))>
215
216 </#if>
217
218 <#----------------------------METAINFO_IMG_GETINFO FIN---------------------------->
219
220 <#if current?has_content>
221
222
223 <#assign structureId="IMATGES">
224 <#assign templateId="IMATGES">
225
226
227
228
229 <#----------------------------METAINFO_EXIST_CONTENT INI---------------------------->
230
231 <#assign journalArticleLocalService= serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
232
233 <#assign companyId= current.getCompanyId()>
234 <#assign groupId= (current.getScopeGroupId())!scopeGroupId>
235 <#assign title= current.getDescription()>
236 <#assign end=-1>
237 <#assign start=-1>
238 <#assign keywords="">
239 <#assign type="general">
240 <#assign isEmpty=true>
241 <#assign articles="">
242 <#assign currentArticle="">
243
244 <#assign folders=[]>
245 <#assign andOperator=true>
246 <#assign articles= journalArticleLocalService.search(getterUtil.getLong(companyId), getterUtil.getLong(groupId), folders, 0, null, null, title, null, type, structureId, templateId, null, null, 0, null, andOperator, -1, -1, null)>
247
248 <#list articles as article>
249 <#if stringUtil.equalsIgnoreCase(article.getTitle(),title)>
250 <#if isEmpty>
251 <#assign isEmpty=false>
252 <#assign currentArticle= article>
253
254 <#else> <#if currentArticle.getVersion()< article.getVersion()>
255 <#assign currentArticle= article>
256 </#if>
257 </#if>
258 </#if>
259 </#list>
260 <#----------------------------METAINFO_EXIST_CONTENT FIN-------------------------- -->
261 <#if !currentArticle?has_content >
262 <#assign altText="">
263 <#if altAuxImg?has_content>
264 <#assign altText= altAuxImg>
265 </#if>
266 <img src="${urlImgEntry}" alt="${altText}" title="" />
267 <#if altAuxImg?has_content>
268 <p style="font-size: 0.7rem">${altAuxImg}</p>
269 </#if>
270
271 <#else><#----------------------------IMATGES FIN-------------------------- -->
272
273 <#assign document= saxReaderUtil.read( currentArticle.getContent())>
274
275 <#assign img_autor= document.selectSingleNode("/root/dynamic-element[@name='img_autor']/dynamic-content[@language-id=' locale']")>
276 <#assign img_titol= document.selectSingleNode("/root/dynamic-element[@name='img_titol']/dynamic-content[@language-id=' locale']")>
277 <#assign img_alt= document.selectSingleNode("/root/dynamic-element[@name='img_alt']/dynamic-content[@language-id=' locale']")>
278 <#assign img_imatge= document.selectSingleNode("/root/dynamic-element[@name='img_imatge']/dynamic-content")>
279
280
281 <img src="${img_imatge.getText()}" class="image_border" alt="${img_alt.getText()}" title="${img_alt.getText()}" >
282 <p>${img_titol.getText()}<br />${img_autor.getText()}</p>
283
284 <#----------------------------IMATGES FIN-------------------------- -->
285 </#if>
286
287 <#else> <#assign altText="">
288 <#if altAuxImg?has_content>
289 <#assign altText= altAuxImg>
290 </#if>
291 <img src="${urlImgEntry}" alt="${altText}" title="" />
292 <#if altAuxImg?has_content>
293 <p style="font-size: 0.7rem">${altAuxImg}</p>
294 </#if>
295 </#if>
296 </#if>
297 <#-------------------------------------------------------------------------UNIFICACION PLANTILLAS METAINFO IMATGES INI------------------------------------------------------------------------->
298
299 </div>
300 </#if>
301 </div>
302 <div class="col-12 col-lg-7">
303 <#if act_descripcio?? && act_descripcio.getData()?has_content>
304 <p><strong>Descripció: </strong>${act_descripcio.getData()}</p>
305 </#if>
306 <#if act_requisit?? && act_requisit.getData()?has_content>
307 <p><span class="font-weight-bold"><@liferay.language key="parc.activitat.requisits"/>:</span> ${act_requisit.getData()}</p>
308 </#if>
309 <#if act_url?? && act_url.getData()?has_content>
310 <p><span><@liferay.language key="parc.activitat.mesurl"/>:</span> <a href="${act_url.getData()}" target="_blank">${act_url.getData()}</a></p>
311 </#if>
312 <br />
313 </div>
314 <div class="col-12 col-lg-5">
315 <#if (act_latitud?? && act_latitud.getData()?has_content) && (act_longitud?? && act_longitud.getData()?has_content)>
316 <link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.4/dist/leaflet.css" integrity="sha512-puBpdR0798OZvTTbP4A8Ix/l+A4dHDD0DGqYW6RQ+9jxkRFclaxxQb/SJAWZfWAkuyeQUytO7+7N4QKrDh+drA==" crossorigin="anonymous">
317 <script src="https://unpkg.com/leaflet@1.3.4/dist/leaflet.js" integrity="sha512-nMMmRyTVoLYqjP9hrbed9S+FzjZHW5gY1TWCHA5ckwXZBadntCNs8kEqAWdrb9O7rxbCaA4lKTIWjDXZxflOcA==" crossorigin="anonymous"></script>
318 <div id="map_canvas${.vars["reserved-article-id"].data}" class="embed-responsive embed-responsive-16by9" style="clear:both;margin:10px 0"></div>
319 <script>
320 jQuery(document).ready(function() {
321 // Llista de cartografies.
322 var googleStreets = L.tileLayer("https://{s}.google.com/vt/lyrs=m&x={x}&y={y}&z={z}", {
323 maxZoom: 20,
324 subdomains: ["mt0", "mt1", "mt2", "mt3"],
325 attribution: "© Diputació de Barcelona"
326 });
327 // Punt central del mapa.
328 var latlng${.vars["reserved-article-id"].data} = L.latLng(${act_latitud.getData()},${act_longitud.getData()});
329 var map_canvas${.vars["reserved-article-id"].data} = L.map("map_canvas${.vars["reserved-article-id"].data}", {center: latlng${.vars["reserved-article-id"].data}, zoom: 15, layers: [googleStreets]});
330
331 var titol = "${htmlUtil.escapeJS(act_titol.getData())}" + " (${act_latitud.getData()}, ${act_longitud.getData()})";
332 <#assign indicacions= languageUtil.get( locale,"agenda.indicacions")>
333 <#assign marcador="<a href=https://www.google.es/maps/place/"+ act_latitud.getData()+","+ act_longitud.getData()+" target=_blank >"+ indicacions+"</a>">
334
335 L.marker([${act_latitud.getData()},${act_longitud.getData()}],{title: titol}).addTo(map_canvas${.vars["reserved-article-id"].data}).bindPopup("${htmlUtil.escapeJS(marcador)}");
336 });
337 <#assign indicacions= languageUtil.get( locale,"agenda.indicacions")>
338 <#assign marcador="<a href=https://www.google.es/maps/place/"+ act_latitud.getData()+","+ act_longitud.getData()+" target=_blank >"+ indicacions+"</a>">
339 </script>
340 </#if>
341 </div>
342 </div>
343</div>
344
345 <div class="icos_noti">
346
347 <div class="ico_redes" style="display:flex;justify-content: end">
348 <span>compartir</span>
349 <#-- AddToAny Button BEGIN -->
350 <div class="a2a_kit a2a_default_style data-a2a-title="${htmlUtil.escape(.vars["reserved-article-title"].data)}">
351 <a class="a2a_button_google_gmail"></a>
352
353 <a class="a2a_button_facebook"></a>
354 <a class="a2a_button_pinterest"></a>
355 <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
356 </div>
357 </div>
358 <script>
359 var a2a_config = a2a_config || {};
360 a2a_config.locale = "es";
361 </script>
362 <script async src="https://static.addtoany.com/menu/page.js"></script>
363 <script data-senna-track="temporary">
364 Liferay.on("beforeNavigate", function(event) { location.href=event.path; });
365 </script>
366 <#-- AddToAny Button END -->
367
368
369 </div>
370 <#if tag?has_content>
371 <div class="bloque_info_dch">
372 </div>
373 </#if>
374 <#assign hasRecursos=false>
375 <#if act_recurso.getSiblings()?has_content>
376 <#list act_recurso.getSiblings() as item>
377 <#if (item?? && item.getData()?has_content) ||
378 (item.act_recurso_url?? && item.act_recurso_url.getData()?has_content) ||
379 (item.act_recurso_email?? && item.act_recurso_email.getData()?has_content) ||
380 (item.act_recurso_documento?? && (item.act_recurso_documento.getData()?has_content ||
381 item.act_recurso_documento.urlExterna3?? && item.act_recurso_documento.urlExterna3.getData()?has_content))>
382 <#assign hasRecursos=true>
383 <#break>
384 </#if>
385 </#list>
386 </#if>
387 <#if hasRecursos>
388 <div class="recursos">
389 <span class="font-weight-bold">Recursos.</span>
390 <div class="mt-2">
391 <#list act_recurso.getSiblings() as item>
392 <#assign img_recurso="">
393 <#if item.getData()?has_content>
394 <#assign img_recurso= item.getData()>
395 <#elseif item.urlExterna4?? && item.urlExterna4.getData()?has_content>
396 <#assign img_recurso= item.urlExterna4.getData()>
397 </#if>
398 <#assign img_recurso_alt= "">
399 <#if item.act_recurso_alt?? && item.act_recurso_alt.getData()?has_content>
400 <#assign img_recurso_alt= item.act_recurso_alt.getData()>
401 </#if>
402 <#assign tipo_recurso= "Mateixa_finestra">
403 <#if item.act_recurso_tipo?? && item.act_recurso_tipo.getData()?has_content>
404 <#assign tipo_recurso= item.act_recurso_tipo.getData()>
405 </#if>
406 <#if item.act_recurso_url?? && item.act_recurso_url.getData()?has_content>
407 <p>
408 <#if img_recurso!="">
409 <img class="mr-1" src="${img_recurso}" alt="${img_recurso_alt}" />
410 <#else>
411 <i class="icon-file-text icon-large"></i>
412 </#if>
413 <a href="${item.act_recurso_url.getData()}" title="${img_recurso_alt}" target="${tipo_recurso}">
414 ${img_recurso_alt}
415 </a>
416 </p>
417 <#elseif item.act_recurso_email?? && item.act_recurso_email.getData()?has_content>
418 <p>
419
420 <#if img_recurso!="">
421 <img class="mr-1" src="${img_recurso}" alt="${img_recurso_alt}" />
422 <#else>
423 <i class="icon-file-text icon-large"></i>
424 </#if>
425 <a href="${item.act_recurso_email.getData()}" title="${img_recurso_alt}" target="${tipo_recurso}">
426 ${img_recurso_alt}
427 </a>
428 </p>
429 <#elseif (item.act_recurso_documento?? && item.act_recurso_documento.getData()?has_content) || (item.act_recurso_documento?? && item.act_recurso_documento.urlExterna3?? && item.act_recurso_documento.urlExterna3.getData()?has_content)>
430 <#if item.act_recurso_documento?? && item.act_recurso_documento.getData()?has_content>
431 <p>
432 <img class="mr-1" src="${img_recurso}" alt=${img_recurso_alt} />
433 <a href="${item.act_recurso_documento.getData()}" title="${img_recurso_alt}" target="${tipo_recurso}">
434 ${img_recurso_alt}
435 </a>
436 </p>
437 <#elseif item.act_recurso_documento.urlExterna3?? && item.act_recurso_documento.urlExterna3.getData()?has_content>
438 <p>
439 <img class="mr-1" src="${img_recurso}" alt=${img_recurso_alt} />
440 <a href="${item.act_recurso_documento.urlExterna3.getData()}" title="${img_recurso_alt}" target="${tipo_recurso}">
441 ${img_recurso_alt}
442 </a>
443 </p>
444 </#if>
445 </#if>
446 </#list>
447 </div>
448 </div>
449 </#if>
450 </article>
451</section>
Cercador d'activitats
Tu privacidad es nuestra prioridad
Para proteger tu intimidad, antes de continuar queremos asegurarnos que sabes que, tanto nosotros como nuestros colaboradores, utilizamos algunas “cookies” en la web para facilitarte el uso:
- Propias y de terceros con fines estadísticos, con las que no se recoge información de los usuarios ni se registran las direcciones IP de acceso.
- Propias y de terceros para garantizar el funcionamiento básico, como la sesión de usuario, y aspectos de personalización, como el idioma de nuestras páginas.
Guardamos la aceptación de cookies durante 30 días para mejorar la experiencia de navegación. Recuerda que puedes eliminar las cookies de tu navegador. - De terceros para mostrarte información de nuestras redes sociales, como Facebook, X, YouTube, etc. Al acceder a estos sitios web podrás decidir si aceptas o no sus políticas de privacidad y de cookies.