News and events
An error occurred while processing the template.
The string doesn't match the expected date/time/date-time format. The string to parse was: "We adhere to the slogan <em> We share the public space</em>". The expected format was: "HH:mm". The nested reason given follows: Unparseable date: "We adhere to the slogan <em> We share the public space</em>" ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign timeActDate = pubTimeNovetatA... [in template "20155#20195#1502290" at line 167, column 57] ----
1<#assign groupId = getterUtil.getLong(groupId)>
2<#assign group = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService").getGroup(groupId)>
3<#assign colorClass = "" />
4<#assign fullBody = "full-body__container" />
5<#assign isFundacio = false>
6<#if currentURL?contains("fundacio")>
7 <#assign isFundacio = true>
8</#if>
9
10<#function miliSeconds dateString firstDate>
11 <#assign params = dateString?split(":")>
12
13 <#if params?size == 2>
14 <#assign param1 = params[0]>
15 <#assign param2 = params[1]>
16 <#assign param1 = getterUtil.getLong(param1)*3600000>
17 <#assign param2 = getterUtil.getLong(param2)*60000>
18 <#assign finalMilSec = param1 + param2>
19 <#assign finalMilSecLong = getterUtil.getLong(finalMilSec)>
20 <#assign resultLong = firstDate + finalMilSecLong>
21
22 <#return resultLong>
23 </#if>
24</#function>
25
26<#if entries?has_content>
27<section class="hola-bcn-carrusel-standard ${colorClass}">
28 <div class="hola-bcn-carrusel-standard-cont-ext hola-bcn-carrusel-standard-cont-ext-extra hola-bcn-carrusel-standard-cont-ext-highlight ${fullBody}">
29 <div class="hola-bcn-carrusel-standard--container">
30 <div class="">
31 <h2 class="title title--1 assets-novetat-agenda-title"><@liferay.language key='label.bloc.novetatagenda.title.highlight' /></h2>
32 </div>
33 <div class="hola-bcn-carrusel-standard--outer mt-32">
34 <#assign today = .now?date>
35 <#assign curEntry = entries?first>
36 <#assign renderer = curEntry.getAssetRenderer()>
37 <#assign className = renderer.getClassName()>
38 <#assign dataPub = "">
39 <#assign dataDespub = "">
40 <#assign isExpired = false>
41 <#if className == "com.liferay.journal.model.JournalArticle">
42 <#assign journalArticle = renderer.getArticle()>
43 <#assign journalArticleId = journalArticle.getArticleId()>
44 <#assign document = saxReaderUtil.read(journalArticle.getContent())>
45 <#assign rootElement = document.getRootElement()>
46 <#assign articleURL = renderer.getURLViewInContext(renderRequest, renderResponse, "")>
47 <#assign articleFriendlyURL = renderer.getUrlTitle()>
48 <#assign newwindow = "">
49 <#if !articleURL?has_content>
50 <#assign newwindow = "target='_blank'">
51 <#if !isFundacio>
52 <#if currentURL?contains("pre3")>
53 <#assign articleURL = "https://pre3-fundacio.tmb.cat/" + locale.getLanguage() + "/w/" + articleFriendlyURL>
54 <#else>
55 <#assign articleURL = "https://fundacio.tmb.cat/" + locale.getLanguage() + "/w/" + articleFriendlyURL>
56 </#if>
57 <#else>
58 <#if currentURL?contains("pre3")>
59 <#assign articleURL = "https://pre3.tmb.cat/" + locale.getLanguage() + "/w/" + articleFriendlyURL>
60 <#else>
61 <#assign articleURL = "https://www.tmb.cat/" + locale.getLanguage() + "/w/" + articleFriendlyURL>
62 </#if>
63 </#if>
64 </#if>
65
66 <#assign title = "">
67 <#assign titleSel = saxReaderUtil.createXPath("dynamic-element[@field-reference='titleGlobal']/dynamic-content[@language-id='" + locale + "']")>
68 <#if titleSel.selectSingleNode(rootElement)?has_content>
69 <#assign title = titleSel.selectSingleNode(rootElement).getStringValue()>
70 </#if>
71
72 <#assign subtitle = "">
73 <#assign subtitleSel = saxReaderUtil.createXPath("dynamic-element[@field-reference='subtitleGlobal']/dynamic-content[@language-id='" + locale + "']")>
74 <#if subtitleSel.selectSingleNode(rootElement)?has_content>
75 <#assign subtitle = subtitleSel.selectSingleNode(rootElement).getStringValue()>
76 </#if>
77
78 <#assign initDateNovetatAgenda = "">
79 <#assign fromInitDateNovetatAgenda = "">
80 <#assign endDateNovetatAgenda = "">
81 <#assign whereNovetatAgenda = "">
82 <#assign novetatAgendaSel = rootElement.selectSingleNode("dynamic-element[@field-reference='blocInfoAgenda']")!"">
83 <#if novetatAgendaSel?has_content>
84 <#assign dateNovetatAgendaSelSel = novetatAgendaSel.selectSingleNode("dynamic-element[@field-reference='whenBlocInfoAgenda']")!"">
85
86 <#if dateNovetatAgendaSelSel?has_content && dateNovetatAgendaSelSel.selectSingleNode("dynamic-element[@field-reference='initDateBlocInfoAgenda']/dynamic-content[@language-id='" + locale + "']")?has_content>
87 <#assign initDateNovetatAgenda = dateNovetatAgendaSelSel.selectSingleNode("dynamic-element[@field-reference='initDateBlocInfoAgenda']/dynamic-content[@language-id='" + locale + "']").getStringValue()>
88 </#if>
89
90 <#if dateNovetatAgendaSelSel?has_content && dateNovetatAgendaSelSel.selectSingleNode("dynamic-element[@field-reference='fromInitDateBlocInfoAgenda']/dynamic-content[@language-id='" + locale + "']")?has_content>
91 <#assign fromInitDateNovetatAgenda = dateNovetatAgendaSelSel.selectSingleNode("dynamic-element[@field-reference='fromInitDateBlocInfoAgenda']/dynamic-content[@language-id='" + locale + "']").getStringValue()>
92 </#if>
93
94 <#if dateNovetatAgendaSelSel?has_content && dateNovetatAgendaSelSel.selectSingleNode("dynamic-element[@field-reference='endDateBlocInfoAgenda']/dynamic-content[@language-id='" + locale + "']")?has_content>
95 <#assign endDateNovetatAgenda = dateNovetatAgendaSelSel.selectSingleNode("dynamic-element[@field-reference='endDateBlocInfoAgenda']/dynamic-content[@language-id='" + locale + "']").getStringValue()>
96 </#if>
97
98 <#assign whereNovetatAgendaSelSel = novetatAgendaSel.selectSingleNode("dynamic-element[@field-reference='whereBlocInfoAgenda']")!"">
99 <#if whereNovetatAgendaSelSel?has_content && whereNovetatAgendaSelSel.selectSingleNode("dynamic-element[@field-reference='textWhereBlocInfoAgenda']/dynamic-content[@language-id='" + locale + "']")?has_content>
100 <#assign whereNovetatAgenda = whereNovetatAgendaSelSel.selectSingleNode("dynamic-element[@field-reference='textWhereBlocInfoAgenda']/dynamic-content[@language-id='" + locale + "']").getStringValue()>
101 </#if>
102 </#if>
103
104 <#assign typeNovetatAgenda = "">
105 <#assign typeNovetatAgendaSel = saxReaderUtil.createXPath("dynamic-element[@field-reference='typeNovetatAgenda']/dynamic-content[@language-id='" + locale + "']")>
106 <#if typeNovetatAgendaSel.selectSingleNode(rootElement)?has_content>
107 <#assign typeNovetatAgenda = typeNovetatAgendaSel.selectSingleNode(rootElement).getStringValue()>
108 </#if>
109
110 <#assign filterNovetatAgenda = "">
111 <#assign filterNovetatAgendaSel = saxReaderUtil.createXPath("dynamic-element[@field-reference='filterNovetatAgenda']/dynamic-content[@language-id='" + locale + "']")>
112 <#if filterNovetatAgendaSel.selectSingleNode(rootElement)?has_content>
113 <#assign filterNovetatAgenda = filterNovetatAgendaSel.selectSingleNode(rootElement).getStringValue()>
114 </#if>
115
116 <#assign imageNovetatAgenda = "">
117 <#assign imageNovetatAgendaSel = saxReaderUtil.createXPath("dynamic-element[@field-reference='imageCardNovetatAgenda']/dynamic-content[@language-id='" + locale + "']")>
118 <#if imageNovetatAgendaSel.selectSingleNode(rootElement)?has_content>
119 <#assign image = imageNovetatAgendaSel.selectSingleNode(rootElement).getStringValue()>
120 <#assign imageNovetatAgenda = jsonFactoryUtil.createJSONObject(image).url!"">
121 <#if imageNovetatAgenda == "">
122 <#assign imageUuid = jsonFactoryUtil.createJSONObject(image).uuid!"">
123 <#assign imageGroupId = jsonFactoryUtil.createJSONObject(image).groupId!themeDisplay.getScopeGroupId()>
124 <#assign imageNovetatAgenda = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + imageGroupId + "/" + imageUuid>
125 </#if>
126 </#if>
127
128 <#assign imageAltNovetatAgenda = "">
129 <#assign imageAltNovetatAgendaSel = saxReaderUtil.createXPath("dynamic-element[@field-reference='altImageCardNovetatAgenda']/dynamic-content[@language-id='" + locale + "']")>
130 <#if imageAltNovetatAgendaSel.selectSingleNode(rootElement)?has_content>
131 <#assign imageAltNovetatAgenda = imageAltNovetatAgendaSel.selectSingleNode(rootElement).getStringValue()>
132 </#if>
133
134 <#assign pubDateNovetatAgenda = "">
135 <#assign pubDateNovetatAgendaSel = saxReaderUtil.createXPath("dynamic-element[@field-reference='pubDateNovetatAgenda']/dynamic-content[@language-id='" + locale + "']")>
136 <#if pubDateNovetatAgendaSel.selectSingleNode(rootElement)?has_content>
137 <#assign pubDateNovetatAgenda = pubDateNovetatAgendaSel.selectSingleNode(rootElement).getStringValue()>
138 </#if>
139
140 <#assign pubTimeNovetatAgenda = "">
141 <#assign pubTimeNovetatAgendaSel = saxReaderUtil.createXPath("dynamic-element[@field-reference='pubTimeNovetatAgenda']/dynamic-content[@language-id='" + locale + "']")>
142 <#if pubTimeNovetatAgendaSel.selectSingleNode(rootElement)?has_content>
143 <#assign pubTimeNovetatAgenda = pubTimeNovetatAgendaSel.selectSingleNode(rootElement).getStringValue()>
144 </#if>
145
146 <#assign despubDateNovetatAgenda = "">
147 <#assign despubDateNovetatAgendaSel = saxReaderUtil.createXPath("dynamic-element[@field-reference='despubDateNovetatAgenda']/dynamic-content[@language-id='" + locale + "']")>
148 <#if despubDateNovetatAgendaSel.selectSingleNode(rootElement)?has_content>
149 <#assign despubDateNovetatAgenda = despubDateNovetatAgendaSel.selectSingleNode(rootElement).getStringValue()>
150 </#if>
151
152 <#assign despubTimeNovetatAgenda = "">
153 <#assign despubTimeNovetatAgendaSel = saxReaderUtil.createXPath("dynamic-element[@field-reference='despubTimeNovetatAgenda']/dynamic-content[@language-id='" + locale + "']")>
154 <#if despubTimeNovetatAgendaSel.selectSingleNode(rootElement)?has_content>
155 <#assign despubTimeNovetatAgenda = despubTimeNovetatAgendaSel.selectSingleNode(rootElement).getStringValue()>
156 </#if>
157
158 <#assign isExpiredNovetatAgenda = "">
159 <#assign isExpiredNovetatAgendaSel = saxReaderUtil.createXPath("dynamic-element[@field-reference='isExpiredNovetatAgenda']/dynamic-content[@language-id='" + locale + "']")>
160 <#if isExpiredNovetatAgendaSel.selectSingleNode(rootElement)?has_content>
161 <#assign isExpiredNovetatAgenda = isExpiredNovetatAgendaSel.selectSingleNode(rootElement).getStringValue()>
162 </#if>
163
164 <#assign isPublishedNA = false>
165 <#if (pubDateNovetatAgenda?has_content)>
166 <#if pubTimeNovetatAgenda?has_content>
167 <#assign timeActDate = pubTimeNovetatAgenda?date["HH:mm"]>
168 <#assign timeActFormat = timeActDate?string["HH:mm"]>
169 <#else>
170 <#assign timeActDate = "">
171 <#assign timeActFormat = "">
172 </#if>
173 <#attempt>
174 <#assign dataAct = pubDateNovetatAgenda?date["yyyy-MM-dd"]>
175
176 <#if timeActFormat?has_content && timeActFormat != "">
177 <#assign dataActMil = miliSeconds(timeActFormat dataAct?long)>
178 <#assign dataAct = dateUtil.newDate(getterUtil.getLong(dataActMil))>
179 </#if>
180 <#assign dataActMil = dataAct?long>
181 <#assign now = .now?long+timeZoneUtil.getTimeZone("Europe/Madrid").getOffset(.now?long)>
182 <#assign isPublishedNA = (dataActMil - now ) < 0 />
183 <#recover>
184 </#attempt>
185 </#if>
186
187 <#assign isDespublishedNA = false>
188 <#if (despubDateNovetatAgenda?has_content)>
189 <#if despubTimeNovetatAgenda?has_content>
190 <#assign timeExpDate = despubTimeNovetatAgenda?date["HH:mm"]>
191 <#assign timeExpFormat = timeExpDate?string["HH:mm"]>
192 <#else>
193 <#assign timeExpDate = "">
194 <#assign timeExpFormat = "">
195 </#if>
196 <#attempt>
197 <#assign dataExp = despubDateNovetatAgenda?date["yyyy-MM-dd"]>
198
199 <#if timeExpFormat?has_content && timeExpFormat != "">
200 <#assign dataExpMil = miliSeconds(timeExpFormat dataExp?long)>
201 <#assign dataExp = dateUtil.newDate(getterUtil.getLong(dataExpMil))>
202 </#if>
203 <#assign dataExpMil = dataExp?long>
204 <#assign now = .now?long+timeZoneUtil.getTimeZone("Europe/Madrid").getOffset(.now?long)>
205 <#assign isDespublishedNA = (dataExpMil - now) < 0 />
206 <#recover>
207 </#attempt>
208 </#if>
209
210 <#assign isExpiredNA = false>
211 <#if journalArticle.expirationDate??>
212 <#assign dataExp = journalArticle.expirationDate?datetime>
213 <#attempt>
214 <#assign dataExpMil = dataExp?long>
215 <#assign now = .now?long+timeZoneUtil.getTimeZone("Europe/Madrid").getOffset(.now?long)>
216 <#assign isExpiredNA = (dataExpMil - now) < 0 />
217 <#recover>
218 </#attempt>
219 </#if>
220
221 <#assign showNovetatAgenda = false>
222 <#if typeNovetatAgenda?has_content && typeNovetatAgenda == "1">
223 <#assign showNovetatAgenda = isPublishedNA && !isExpiredNA && !isDespublishedNA && isExpiredNovetatAgenda != "true">
224 <#else>
225 <#assign showNovetatAgenda = isPublishedNA && !isExpiredNA && isExpiredNovetatAgenda != "true">
226 </#if>
227
228 <#if showNovetatAgenda>
229 <#if title?has_content>
230 <a ${newwindow} class="hola-bcn-carrusel-standard_new <#if isDespublishedNA>hola-bcn-carrusel-standard_new-finished</#if>" href="${articleURL}">
231 <div class="hola-bcn-carrusel-standard__card-cover">
232 <div class="hola-bcn-carrusel-standard__card-cover-filter"></div>
233 <img class="hola-bcn-carrusel-standard__image" src="${imageNovetatAgenda}" <#if imageAltNovetatAgenda?has_content>alt="${imageAltNovetatAgenda}"<#else>alt=""</#if>>
234 <div class="hola-bcn-carrusel-standard-finished-text" <#if isDespublishedNA>style="display: block;"</#if>>
235 <span><@liferay.language key='label.bloc.novetatagenda.finished' /></span>
236 </div>
237 <#if filterNovetatAgenda?has_content>
238 <div class="hola-bcn-carrusel-standard-highlight">
239 <span><@liferay.language key='label.bloc.novetatagenda.filter.${filterNovetatAgenda}' /></span>
240 </div>
241 </#if>
242 </div>
243 <div class="hola-bcn-carrusel-standard-container">
244 <div>
245 <h3 class="hola-bcn-carrusel-standard__card-title">
246 ${title}
247 <#if newwindow?? && newwindow?has_content>
248 <span class="icon-external-black" alt="Enllaç extern" title="(Obre una nova finestra)"></span>
249 </#if>
250 </h3>
251 <span class="hola-bcn-carrusel-standard__card-description">
252 ${subtitle}
253 </span>
254 </div>
255 <#if initDateNovetatAgenda?has_content || endDateNovetatAgenda?has_content || (whereNovetatAgenda?has_content)>
256 <div class="hola-bcn-carrusel-standard_bottom-extra">
257 <#if initDateNovetatAgenda?has_content || endDateNovetatAgenda?has_content>
258 <div class="hola-bcn-carrusel-standard-date">
259 <#if fromInitDateNovetatAgenda == "true">
260 <span><b><@liferay.language key='label.bloc.novetatagenda.when' /></b> <@liferay.language key='label.bloc.novetatagenda.from' /> ${initDateNovetatAgenda?date["yyyy-MM-dd"]?string("dd/MM/yyyy")}</span>
261 <#else>
262 <span><b><@liferay.language key='label.bloc.novetatagenda.when' /></b> <@liferay.language key='label.bloc.novetatagenda.from' /> ${initDateNovetatAgenda?date["yyyy-MM-dd"]?string("dd/MM/yyyy")}<#if endDateNovetatAgenda?has_content> <@liferay.language key='label.bloc.novetatagenda.to' /> ${endDateNovetatAgenda?date["yyyy-MM-dd"]?string("dd/MM/yyyy")}</#if></span>
263 </#if>
264 </div>
265 </#if>
266 <#if whereNovetatAgenda?has_content>
267 <div class="hola-bcn-carrusel-standard-where">
268 <span><b><@liferay.language key='label.bloc.novetatagenda.where' /> <span class="hola-bcn-carrusel-standard-where-inner">${whereNovetatAgenda}</span></b></span>
269 </div>
270 </#if>
271 </div>
272 </#if>
273 </div>
274 </a>
275 </#if>
276 </#if>
277 </#if>
278 </div>
279 </div>
280 </div>
281</section>
282</#if>
Activities
-
FinishedCampaign
How to ask for help in the metro if you feel unwell?
Check how to do it. -
FinishedCampaign
100% electric bus routes
H16 and V15, zero emission routes. -
FinishedExhibition
Exhibition QUINCE, Through the Eyes of a Generation
The Street Child Foundation brings visibility to the lives of children surviving in terrible conditions around the world.When: From 06/09/2024 to 31/10/2024Where: Espai Mercè Sala - Fundació TMB -
FinishedExhibition
Photographic exhibition A sea open to everyone
Reflecting on the oceans at the Espai Mercè SalaWhen: From 14/06/2024 to 05/09/2024Where: Espai Mercè Sala - Fundació TMB
There are no activities with the chosen classification.
Close
© OpenStreetMap contributors