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 <span class="font-weight-bold">Descripció: </span> 305 <div class="mt-1">${act_descripcio.getData()}</div> 306 </#if> 307 <#if act_requisit?? && act_requisit.getData()?has_content> 308 <span class="font-weight-bold"><@liferay.language key="parc.activitat.requisits"/>:</span> 309 <div class="mt-1">${act_requisit.getData()}</div> 310 </#if> 311 <#if act_url?? && act_url.getData()?has_content> 312 <span class="font-weight-bold"><@liferay.language key="parc.activitat.mesurl"/>:</span> <a href="${act_url.getData()}" target="_blank">${act_url.getData()}</a> 313 </#if> 314 <br /> 315 </div> 316 <div class="col-12 col-lg-5"> 317 <#if (act_latitud?? && act_latitud.getData()?has_content) && (act_longitud?? && act_longitud.getData()?has_content)> 318 <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"> 319 <script src="https://unpkg.com/leaflet@1.3.4/dist/leaflet.js" integrity="sha512-nMMmRyTVoLYqjP9hrbed9S+FzjZHW5gY1TWCHA5ckwXZBadntCNs8kEqAWdrb9O7rxbCaA4lKTIWjDXZxflOcA==" crossorigin="anonymous"></script> 320 <div id="map_canvas${.vars["reserved-article-id"].data}" class="embed-responsive embed-responsive-16by9" style="clear:both;margin:10px 0"></div> 321 <script> 322 jQuery(document).ready(function() { 323 // Llista de cartografies. 324 var googleStreets = L.tileLayer("https://{s}.google.com/vt/lyrs=m&x={x}&y={y}&z={z}", { 325 maxZoom: 20, 326 subdomains: ["mt0", "mt1", "mt2", "mt3"], 327 attribution: "© Diputació de Barcelona" 328 }); 329 // Punt central del mapa. 330 var latlng${.vars["reserved-article-id"].data} = L.latLng(${act_latitud.getData()},${act_longitud.getData()}); 331 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]}); 332 333 var titol = "${htmlUtil.escapeJS(act_titol.getData())}" + " (${act_latitud.getData()}, ${act_longitud.getData()})"; 334 <#assign indicacions= languageUtil.get( locale,"agenda.indicacions")> 335 <#assign marcador="<a href=https://www.google.es/maps/place/"+ act_latitud.getData()+","+ act_longitud.getData()+" target=_blank >"+ indicacions+"</a>"> 336 337 L.marker([${act_latitud.getData()},${act_longitud.getData()}],{title: titol}).addTo(map_canvas${.vars["reserved-article-id"].data}).bindPopup("${htmlUtil.escapeJS(marcador)}"); 338 }); 339 <#assign indicacions= languageUtil.get( locale,"agenda.indicacions")> 340 <#assign marcador="<a href=https://www.google.es/maps/place/"+ act_latitud.getData()+","+ act_longitud.getData()+" target=_blank >"+ indicacions+"</a>"> 341 </script> 342 </#if> 343 </div> 344 </div> 345</div> 346 347 <div class="icos_noti"> 348 349 <div class="ico_redes" style="display:flex;justify-content: end"> 350 <span>compartir</span> 351 <#-- AddToAny Button BEGIN --> 352 <div class="a2a_kit a2a_default_style data-a2a-title="${htmlUtil.escape(.vars["reserved-article-title"].data)}"> 353 <a class="a2a_button_google_gmail"></a> 354 355 <a class="a2a_button_facebook"></a> 356 <a class="a2a_button_pinterest"></a> 357 <a class="a2a_dd" href="https://www.addtoany.com/share"></a> 358 </div> 359 </div> 360 <script> 361 var a2a_config = a2a_config || {}; 362 a2a_config.locale = "es"; 363 </script> 364 <script async src="https://static.addtoany.com/menu/page.js"></script> 365 <script data-senna-track="temporary"> 366 Liferay.on("beforeNavigate", function(event) { location.href=event.path; }); 367 </script> 368 <#-- AddToAny Button END --> 369 370 371 </div> 372 <#if tag?has_content> 373 <div class="bloque_info_dch"> 374 </div> 375 </#if> 376 <#assign hasRecursos=false> 377 <#if act_recurso.getSiblings()?has_content> 378 <#list act_recurso.getSiblings() as item> 379 <#if (item?? && item.getData()?has_content) || 380 (item.act_recurso_url?? && item.act_recurso_url.getData()?has_content) || 381 (item.act_recurso_email?? && item.act_recurso_email.getData()?has_content) || 382 (item.act_recurso_documento?? && (item.act_recurso_documento.getData()?has_content || 383 item.act_recurso_documento.urlExterna3?? && item.act_recurso_documento.urlExterna3.getData()?has_content))> 384 <#assign hasRecursos=true> 385 <#break> 386 </#if> 387 </#list> 388 </#if> 389 <#if hasRecursos> 390 <div class="recursos"> 391 <span class="font-weight-bold">Recursos.</span> 392 <div class="mt-2"> 393 <#list act_recurso.getSiblings() as item> 394 <#assign img_recurso=""> 395 <#if item.getData()?has_content> 396 <#assign img_recurso= item.getData()> 397 <#elseif item.urlExterna4?? && item.urlExterna4.getData()?has_content> 398 <#assign img_recurso= item.urlExterna4.getData()> 399 </#if> 400 <#assign img_recurso_alt= ""> 401 <#if item.act_recurso_alt?? && item.act_recurso_alt.getData()?has_content> 402 <#assign img_recurso_alt= item.act_recurso_alt.getData()> 403 </#if> 404 <#assign tipo_recurso= "Mateixa_finestra"> 405 <#if item.act_recurso_tipo?? && item.act_recurso_tipo.getData()?has_content> 406 <#assign tipo_recurso= item.act_recurso_tipo.getData()> 407 </#if> 408 <#if item.act_recurso_url?? && item.act_recurso_url.getData()?has_content> 409 <p> 410 <#if img_recurso!=""> 411 <img class="mr-1" src="${img_recurso}" alt="${img_recurso_alt}" /> 412 <#else> 413 <i class="icon-file-text icon-large"></i> 414 </#if> 415 <a href="${item.act_recurso_url.getData()}" title="${img_recurso_alt}" target="${tipo_recurso}"> 416 ${img_recurso_alt} 417 </a> 418 </p> 419 <#elseif item.act_recurso_email?? && item.act_recurso_email.getData()?has_content> 420 <p> 421 422 <#if img_recurso!=""> 423 <img class="mr-1" src="${img_recurso}" alt="${img_recurso_alt}" /> 424 <#else> 425 <i class="icon-file-text icon-large"></i> 426 </#if> 427 <a href="${item.act_recurso_email.getData()}" title="${img_recurso_alt}" target="${tipo_recurso}"> 428 ${img_recurso_alt} 429 </a> 430 </p> 431 <#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)> 432 <#if item.act_recurso_documento?? && item.act_recurso_documento.getData()?has_content> 433 <p> 434 <img class="mr-1" src="${img_recurso}" alt=${img_recurso_alt} /> 435 <a href="${item.act_recurso_documento.getData()}" title="${img_recurso_alt}" target="${tipo_recurso}"> 436 ${img_recurso_alt} 437 </a> 438 </p> 439 <#elseif item.act_recurso_documento.urlExterna3?? && item.act_recurso_documento.urlExterna3.getData()?has_content> 440 <p> 441 <img class="mr-1" src="${img_recurso}" alt=${img_recurso_alt} /> 442 <a href="${item.act_recurso_documento.urlExterna3.getData()}" title="${img_recurso_alt}" target="${tipo_recurso}"> 443 ${img_recurso_alt} 444 </a> 445 </p> 446 </#if> 447 </#if> 448 </#list> 449 </div> 450 </div> 451 </#if> 452 </article> 453</section> 