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.

MÉS INFORMACIÓ

Què pots visitar

VEURE-LES TOTES

Qui som