S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> imatgeJSON.groupId [in template "10132#10165#350010418" at line 74, column 105]
----
Tip: It's the step after the last dot that caused this error, not those before it.
----
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 imatge = "/documents/${imatge... [in template "10132#10165#350010418" at line 74, column 73]
---- 1<section class="exposicions__home__carousel"> 2 <#if entries?has_content> 3 <#assign randomId = stringUtil.randomString(12)> 4 <div id="featured-carousel-indicators-${randomId}" class="carousel slide featured-carousel" data-ride="carousel" > 5 <ol class="carousel-indicators"> 6 <#list 1..entries?size as i> 7 <#assign activeIndicator = "" /> 8 <#if i?is_first> 9 <#assign activeIndicator = "active" /> 10 </#if> 11 <li data-target="#featured-carousel-indicators-${randomId}" data-slide-to="${i-1}" class="${activeIndicator}"></li> 12 </#list> 13 </ol> 14 <div class="carousel-inner"> 15 <#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 16 17 <#list entries as curEntry> 18 19 <#assign categories = curEntry.getCategories()/> 20 21 <#assign activeItem = "" /> 22 <#if curEntry?is_first> 23 <#assign activeItem = "active" /> 24 </#if> 25 26 <#if curEntry.getAssetRenderer().getClassName() == "com.liferay.journal.model.JournalArticle"> 27 28 <#assign article = journalArticleService.getLatestArticle(getterUtil.getLong(curEntry.getClassPK())) /> 29 <#assign rootElement = saxReaderUtil.read(article.getContentByLocale(locale)).getRootElement() /> 30 <#assign ddmStructure = article.getDDMStructure() /> 31 32 <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry.getAssetRenderer(), curEntry, !stringUtil.equals(assetLinkBehavior, "showFullContent")) /> 33 34 <#assign entradeta = ""/> 35 <#assign imatge = "" /> 36 <#assign dataInicial = ""/> 37 <#assign dataFinal = ""/> 38 <#assign adreca = ""/> 39 <#assign titol = ""/> 40 41 42 <#if ddmStructure.getName(locale) == "EXPOSICIONS"> 43 <#assign selectorTitol = saxReaderUtil.createXPath("dynamic-element[@name='titol']") /> 44 <#assign titol = ""/> 45 46 <#if selectorTitol.selectSingleNode(rootElement)?has_content> 47 <#assign titol = selectorTitol.selectSingleNode(rootElement).getStringValue()?replace("\"", "") /> 48 </#if> 49 50 51 <#assign selectorEntradeta = saxReaderUtil.createXPath("dynamic-element[@name='entradeta']") /> 52 <#assign entradeta = ""/> 53 54 <#if selectorEntradeta.selectSingleNode(rootElement)?has_content> 55 <#assign entradeta = selectorEntradeta.selectSingleNode(rootElement).getStringValue()?replace("\"", "") /> 56 </#if> 57 58 <#assign selectorImatge = saxReaderUtil.createXPath("dynamic-element/dynamic-element[@name='imatgePromo']") /> 59 <#assign imatge = "" /> 60 61 <#if selectorImatge.selectSingleNode(rootElement)?has_content> 62 <#assign imatge = selectorImatge.selectSingleNode(rootElement).getStringValue()?trim /> 63 </#if> 64 65 <#if imatge?has_content> 66 <#if !imatge?starts_with("{")> 67 <#assign imatge = imatge?keep_after("{") /> 68 <#if imatge?has_content> 69 <#assign imatge = "{${imatge}" /> 70 </#if> 71 </#if> 72 <#if imatge?has_content> 73 <#assign imatgeJSON = imatge?eval /> 74 <#assign imatge = "/documents/${imatgeJSON.groupId}/${imatgeJSON.groupId}/${imatgeJSON.title}/${imatgeJSON.uuid}" /> 75 </#if> 76 </#if> 77 78 <#assign selectorDataInicial = saxReaderUtil.createXPath("dynamic-element[@name='dataInicial']") /> 79 <#assign dataInicial = ""/> 80 81 <#if selectorDataInicial.selectSingleNode(rootElement)?has_content> 82 <#assign dataInicial = selectorDataInicial.selectSingleNode(rootElement).getStringValue()?replace("\"", "") /> 83 <#if validator.isNotNull(dataInicial)> 84 <#assign dataInicial = getterUtil.getString(dataInicial)> 85 <#if dataInicial!=""> 86 <#assign dataInicial_DateObj = dateUtil.parseDate("yyyy-MM-dd", dataInicial, locale)> 87 <#assign dataInicial = dateUtil.getDate(dataInicial_DateObj, "dd/MM/yyyy", locale)> 88 </#if> 89 </#if> 90 </#if> 91 <#assign selectorDataFinal = saxReaderUtil.createXPath("dynamic-element[@name='dataFinal']") /> 92 <#assign dataFinal = ""/> 93 94 <#if selectorDataFinal.selectSingleNode(rootElement)?has_content> 95 <#assign dataFinal = selectorDataFinal.selectSingleNode(rootElement).getStringValue()?replace("\"", "") /> 96 <#if validator.isNotNull(dataFinal)> 97 <#assign dataFinal = getterUtil.getString(dataFinal)> 98 <#if dataFinal!=""> 99 <#assign dataFinal_DateObj = dateUtil.parseDate("yyyy-MM-dd", dataFinal, locale)> 100 <#assign dataFinal = dateUtil.getDate(dataFinal_DateObj, "dd/MM/yyyy", locale)> 101 </#if> 102 </#if> 103 </#if> 104 105 <#assign selectorAdreca = saxReaderUtil.createXPath("dynamic-element[@name='adreca']") /> 106 <#assign adreca = ""/> 107 108 <#if selectorAdreca.selectSingleNode(rootElement)?has_content> 109 <#assign adreca = selectorAdreca.selectSingleNode(rootElement).getStringValue()?replace("\"", "") /> 110 </#if> 111 112 113 <#elseif ddmStructure.getName(locale) == "Exposicions virtuals detall"> 114 <#assign titol = article.getTitle(locale)/> 115 116 <#assign selectorEntradeta = saxReaderUtil.createXPath("dynamic-element[@name='Subtitulo']") /> 117 <#assign entradeta = ""/> 118 119 <#if selectorEntradeta.selectSingleNode(rootElement)?has_content> 120 <#assign entradeta = selectorEntradeta.selectSingleNode(rootElement).getStringValue()?replace("\"", "") /> 121 </#if> 122 123 <#assign selectorImatge = saxReaderUtil.createXPath("dynamic-element[@name='ImagenPrincipal']") /> 124 <#assign imatge = "" /> 125 126 <#if selectorImatge.selectSingleNode(rootElement)?has_content> 127 <#assign imatge = selectorImatge.selectSingleNode(rootElement).getStringValue()?trim /> 128 </#if> 129 130 <#if imatge?has_content> 131 <#assign imatgeJSON = imatge?eval /> 132 <#assign imatge = "/documents/${imatgeJSON.groupId}/${imatgeJSON.groupId}/${imatgeJSON.title}/${imatgeJSON.uuid}" /> 133 </#if> 134 135 <#elseif ddmStructure.getName(locale) == "Exposicions: Contingut - Foto i text"> 136 <#assign titol = article.getTitle(locale)/> 137 138 <#assign selectorEntradeta = saxReaderUtil.createXPath("dynamic-element[@name='Cos']") /> 139 <#assign entradeta = ""/> 140 141 <#if selectorEntradeta.selectSingleNode(rootElement)?has_content> 142 <#assign entradeta = selectorEntradeta.selectSingleNode(rootElement).getStringValue()?replace("\"", "") /> 143 </#if> 144 145 <#assign selectorImatge = saxReaderUtil.createXPath("dynamic-element[@name='Imatge']") /> 146 <#assign imatge = "" /> 147 148 <#if selectorImatge.selectSingleNode(rootElement)?has_content> 149 <#assign imatge = selectorImatge.selectSingleNode(rootElement).getStringValue()?trim /> 150 </#if> 151 152 <#if imatge?has_content> 153 <#assign imatgeJSON = imatge?eval /> 154 <#assign imatge = "/documents/${imatgeJSON.groupId}/${imatgeJSON.groupId}/${imatgeJSON.title}/${imatgeJSON.uuid}" /> 155 </#if> 156 157 <#elseif ddmStructure.getName(locale) == "Seccio Home - Imatge, titol, text i boto"> 158 <#assign titol = article.getTitle(locale)/> 159 160 <#assign selectorEntradeta = saxReaderUtil.createXPath("dynamic-element[@name='TextoSeccion']") /> 161 <#assign entradeta = ""/> 162 163 <#if selectorEntradeta.selectSingleNode(rootElement)?has_content> 164 <#assign entradeta = selectorEntradeta.selectSingleNode(rootElement).getStringValue()?replace("\"", "") /> 165 </#if> 166 167 <#assign selectorImatge = saxReaderUtil.createXPath("dynamic-element[@name='Imagen']") /> 168 <#assign imatge = "" /> 169 170 <#if selectorImatge.selectSingleNode(rootElement)?has_content> 171 <#assign imatge = selectorImatge.selectSingleNode(rootElement).getStringValue()?trim /> 172 </#if> 173 174 <#if imatge?has_content> 175 <#assign imatgeJSON = imatge?eval /> 176 <#assign imatge = "/documents/${imatgeJSON.groupId}/${imatgeJSON.groupId}/${imatgeJSON.title}/${imatgeJSON.uuid}" /> 177 </#if> 178 179 <#assign urlBoton = saxReaderUtil.createXPath("dynamic-element[@name='UrlBoton']") /> 180 <#if urlBoton.selectSingleNode(rootElement)?has_content> 181 <#assign viewURL = urlBoton.selectSingleNode(rootElement).getStringValue()?replace("\"", "") /> 182 </#if> 183 184 </#if> 185 186 <#if imatge?has_content && imatge!=""> 187 <#assign imatge = "background-image:url(${staticUtil['com.liferay.portal.kernel.util.HttpComponentsUtil'].encodePath(imatge)});"> 188 </#if> 189 190 <div class="carousel-item ${activeItem}" style='${imatge} background-color: #f6f6f6;'> 191 <div class="carousel-caption"> 192 <a href=" ${htmlUtil.stripHtml(viewURL)}"><h3 class="text-white" title="${titol}">${titol}</h3></a> 193 <div title="${htmlUtil.stripHtml(entradeta)}"><p>${htmlUtil.stripHtml(entradeta)}</p></div> 194 <div class="expo-informacio-addicional"> 195 <#if dataInicial?has_content && dataFinal?has_content> 196 <#if dataInicial!="" && dataFinal!=""> 197 <div class="expo-informacio-addicional-item col pl-0"> 198 <img src="/o/DibaSinMenuVertical-theme/images/color_schemes/exposicions-9c1f2d/iconos/exposicions-calendari.svg" alt="Calendari"> 199 <p>${dataInicial} - ${dataFinal}</p> 200 </div> 201 </#if> 202 </#if> 203 <#if adreca?has_content> 204 <#if adreca?trim!=""> 205 <div class="expo-informacio-addicional-item item-localitzacio col"> 206 <img src="/o/DibaSinMenuVertical-theme/images/color_schemes/exposicions-9c1f2d/iconos/exposicions-localitzacio.svg" alt="Localitzacio"> 207 <span title="${htmlUtil.stripHtml(adreca)}">${htmlUtil.stripHtml(adreca)}</span> 208 </div> 209 </#if> 210 </#if> 211 212 <#assign hasvocabularies = "false"/> 213 214 <#list entry.getCategories() as category> 215 <#assign vocabularyId = category.getVocabularyId()/> 216 <#if vocabularyId == 75122657> 217 <#assign hasvocabularies = "true"/> 218 <#elseif vocabularyId == 350240548> 219 <#assign hasvocabularies = "true"/> 220 </#if> 221 </#list> 222 223 <#if hasvocabularies == "true"> 224 <div class="expo-informacio-addicional-item col"> 225 <img src="/o/DibaSinMenuVertical-theme/images/color_schemes/exposicions-9c1f2d/iconos/exposicions-info.svg" alt="Informació"> 226 <ul> 227 <#list entry.getCategories() as category> 228 <#assign vocabularyId = category.getVocabularyId()/> 229 230 <#if vocabularyId == 75122657> 231 <li >${category.getTitle(themeDisplay.getLocale())}</li> 232 <#elseif vocabularyId == 350240548> 233 <li > ${category.getTitle(themeDisplay.getLocale())}</li> 234 </#if> 235 236 </#list> 237 </ul> 238 </div> 239 </#if> 240 </div> 241 </div> 242 </div> 243 </#if> 244 </#list> 245 </div> 246 </div> 247 </#if> 248</section> Si ets d'un municipi
La Diputació de Barcelona a través del Catàleg de serveis, i amb la voluntat de posar a l'abast dels governs locals de la província de Barcelona, suport tècnic, material i econòmic, ofereix als ens locals els següents recursos en matèria d'exposicions.

