Casa de Associações
An error occurred while processing the template.
The following has evaluated to null or missing: ==> journalArticleService.fetchArticleByUrlTitle(groupId, urlTitle?url('UTF-8')) [in template "33911#33938#38621" at line 163, column 20] ---- Tip: If the failing expression is known to be 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 article = journalArticleServi... [in template "33911#33938#38621" at line 163, column 1] ----
1<style>
2
3 /* BREADCRUMB */
4 nav.breadcrumb-nav {
5 margin-top: 50px;
6 margin-right: 70px;
7 }
8
9 .breadcrumb-element.list-inline-item {
10 padding: 2px 10px;
11 margin-right: 0;
12 }
13
14
15 .breadcrumb-element.list-inline-item:not(:first-child) {
16 border-left: 1px solid #E2E2E2;
17 }
18
19 .breadcrumb-element.list-inline-item:last-child {
20 border-left: 1px solid #015174;
21 }
22
23
24 li.breadcrumb-element {
25 font-size: 0.875rem;
26 }
27
28 li.breadcrumb-element.active {
29 color: #015174;
30 }
31
32 li.breadcrumb-element a {
33 color: #7E7E7E;
34 }
35
36 /* END BREADCRUMB */
37
38 .container-image {
39 background-color: white;
40 background-size: cover;
41 }
42
43 .conteudo {
44 background-color: white;
45 padding-top: 40px;
46 padding-bottom: 40px;
47 }
48
49 .conteudo h1 {
50 font-size: 1.875rem;
51 }
52
53
54 .conteudo h2 {
55 color: #A1BB15;
56 padding-top: 20px;
57 font-size: 1.5rem;
58 }
59
60 .corpoDoTexto {
61 padding-top: 20px;
62 }
63
64 .data-criacao {
65 border-bottom: 2px solid #E2E2E2;
66 padding-top: 30px;
67 padding-bottom: 10px;
68 color: #E2E2E2;
69 }
70
71 .data-criacao .fas {
72 color: #A1BB15;
73 padding-right: 10px;
74 }
75
76 #campaign {
77 padding-bottom: 50px;
78 }
79
80 h3 {
81 border-bottom: 2px solid #E2E2E2;
82 padding-bottom: 10px;
83 }
84
85 #relatedCampaign {
86 color: #A1BB15;
87 }
88
89 #relatedCampaign h2 {
90 font-size: 1rem;
91 padding-bottom: 20px;
92 text-transform: uppercase;
93 letter-spacing: 5px;
94 word-spacing: 10px;
95 }
96
97 .verde, a.verde:hover {
98 color: #A1BB15;
99 }
100
101 .info-contato {
102 padding: 0.5rem 0;
103 }
104
105 .card-img-top {
106 width: 100%;
107 height: auto;
108 }
109
110 .card-text-title {
111 font-size: 1.125rem;
112 }
113
114 .a2a_kit {
115 z-index: 1000;
116 }
117
118 .stretched-link::after {
119 z-index: 0 !important;
120 }
121
122 .badge-silver {
123 background-color: #e0e0e0;
124 color: #272833;
125 font-size: 1rem;
126 letter-spacing: 0.09rem;
127 }
128
129 .badge-silver:hover {
130 background-color: #c3c3c3;
131 color: #272833;
132 }
133
134.fa-linkedin {
135 color: #0e76a8;
136}
137
138.fa-twitter-square {
139 color: #00acee;
140}
141
142.fa-youtube-square {
143 color: #c4302b;
144}
145
146.fa-instagram-square {
147 color: black;
148}
149
150
151</style>
152
153<#assign urlTitle = paramUtil.getString(themeDisplay.getRequest(), "titulo", "") />
154<#assign dlAppServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppServiceUtil"] />
155
156<#assign assetEntryService = staticUtil["com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil"] />
157<#assign assetLinkLocalService = staticUtil["com.liferay.asset.kernel.service.AssetLinkLocalServiceUtil"] />
158<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
159
160<#assign classNameUtil = staticUtil["com.liferay.portal.kernel.service.ClassNameServiceUtil"] />
161<#assign articleClassName = classNameUtil.fetchClassName("com.liferay.journal.model.JournalArticle") />
162
163<#assign article = journalArticleService.fetchArticleByUrlTitle(groupId, urlTitle?url('UTF-8')) />
164<#assign assetEntry = assetEntryService.fetchEntry(articleClassName.getClassNameId(), article.getResourcePrimKey()) />
165<#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(assetEntry.getEntryId()) />
166
167<#assign document = saxReaderUtil.read(article.getContent()) />
168<#assign rootElement = document.getRootElement() />
169
170<#assign imagensArray = []>
171<#assign telefonesArray = []>
172<#assign ficheirosArray = []>
173<#assign emailsArray = []>
174<#assign sitesArray = []>
175<#assign redesSociaisArray = []>
176
177<#assign data = "" />
178<#assign imagem = "" />
179<#assign imageURL = "" />
180<#assign subtitulo = "" />
181<#assign titulo = "" />
182<#assign corpoDoTexto = "" />
183<#assign entidadeOrganizadora = "" />
184<#assign formatoData = "dd/MM/yyyy" />
185
186<#list rootElement.elements() as el>
187 <#list el.elements() as il>
188
189 <#if "titulo" == il.attributeValue("name")>
190 <#assign titulo = il.element("dynamic-content").getData() />
191 </#if>
192
193 <#if "data" == il.attributeValue("name") && il.element("dynamic-content").getData()?has_content>
194 <#assign data = il.element("dynamic-content").getData()?date("yyyy-MM-dd") />
195 <#assign data = data?string[formatoData] />
196 </#if>
197 <#if "subtitulo" == il.attributeValue("name") && il.element("dynamic-content")?has_content>
198 <#assign subtitulo = il.element("dynamic-content").getData() />
199 </#if>
200
201 <#if "corpoDoTexto" == il.attributeValue("name") && il.element("dynamic-content")?has_content>
202 <#assign corpoDoTexto = il.element("dynamic-content").getData() />
203 </#if>
204
205 <#if "EntidadeOrganizadora" == il.attributeValue("name") && il.element("dynamic-content")?has_content>
206 <#assign entidadeOrganizadora = il.element("dynamic-content").getData() />
207 </#if>
208
209 <#if "imagensLink" == il.attributeValue("name")>
210 <#if il.element("dynamic-content").getData()?has_content >
211 <#assign imagem = il.element("dynamic-content").getData()?eval />
212 <#assign imagensArray += [imagem] />
213 </#if>
214 </#if>
215
216 <#if "maisinformacaoFicheiro" == il.attributeValue("name")>
217 <#assign ficheiro = il.element("dynamic-content").getData() />
218 <#if ficheiro?has_content>
219 <#assign ficheiro = ficheiro?eval />
220 <#assign ficheirosArray += ["/c/document_library/get_file?uuid=" + ficheiro.uuid + "&groupId=" + ficheiro.groupId + "|" + ficheiro.title] />
221 </#if>
222 </#if>
223
224
225 <#if "telefone" == il.attributeValue("name")>
226 <#if il.element("dynamic-content").getData()?has_content>
227 <#assign telefonesArray += [il.element("dynamic-content").getData()] />
228 </#if>
229 </#if>
230
231 <#if "email" == il.attributeValue("name")>
232 <#if il.element("dynamic-content").getData()?has_content>
233 <#assign emailsArray += [il.element("dynamic-content").getData()] />
234 </#if>
235 </#if>
236
237 <#if "site" == il.attributeValue("name")>
238 <#if il.element("dynamic-content").getData()?has_content>
239 <#assign sitesArray += [il.element("dynamic-content").getData()] />
240 </#if>
241 </#if>
242
243
244 <#if "redesocial1" == il.attributeValue("name")>
245 <#assign redeSocial = il.element("dynamic-content").getData() />
246 <#if redeSocial?has_content>
247 <#assign redesSociaisArray += [redeSocial]/>
248 </#if>
249 </#if>
250 </#list>
251</#list>
252
253
254<div class="container-fluid">
255
256 <div class="container">
257
258 <div class="row">
259 <div class="col-12">
260 <nav class="breadcrumb-nav">
261 <ul class="breadcrumb-ul list-unstyled list-inline">
262 <li class="breadcrumb-element list-inline-item"><a href="/"><i class="fa fa-home"></i></a></li>
263 <li class="breadcrumb-element list-inline-item"><a href="/casa-de-associacoes">Casa de Associações</a></li>
264 <li class="breadcrumb-element list-inline-item active">${titulo}</li>
265 </ul>
266 </nav>
267 </div>
268 <div class="col-md-8">
269
270 <section id="campaign">
271
272 <div class="row conteudo">
273 <div class="col-md-12">
274 <h1>${titulo}</h1>
275 <h2>${subtitulo}</h2>
276 <#if data?has_content >
277 <div class="data-criacao">
278 <span><i class="fas fa-clock"></i>${data}</span>
279 </div>
280 </#if>
281 </div>
282 </div>
283 <div class="row">
284 <div class="col-6 offset-3">
285 <div id="carouselIndicators" class="carousel slide"
286 data-ride="carousel">
287 <ol class="carousel-indicators">
288 <#list imagensArray as item>
289 <#if item?is_first>
290 <li data-target="#carouselIndicators" data-slide-to="${item?index}"
291 class="active"></li>
292 <#else>
293 <li data-target="#carouselIndicators"
294 data-slide-to="${item?index}"></li>
295 </#if>
296 </#list>
297 </ol>
298 <div class="carousel-inner">
299 <#list imagensArray as item>
300 <#if item?is_first>
301 <div class="carousel-item active">
302 <#else>
303 <div class="carousel-item">
304 </#if>
305 <#assign imagemFileEntry = dlAppServiceUtil.getFileEntry(item.fileEntryId?number) />
306 <#if !shareImgFileEntry??>
307 <#assign shareImgFileEntry = imagemFileEntry />
308 </#if>
309 <@adaptive_media_image["img"] class="d-block w-100 container-image"
310 fileVersion=imagemFileEntry.getFileVersion()
311 alt="${item.alt}"/>
312 </div>
313 </#list>
314 </div>
315
316 <a class="carousel-control-prev" href="#carouselIndicators" role="button"
317 data-slide="prev">
318 <span class="carousel-control-prev-icon" aria-hidden="true"></span>
319 <span class="sr-only">Previous</span>
320 </a>
321 <a class="carousel-control-next" href="#carouselIndicators" role="button"
322 data-slide="next">
323 <span class="carousel-control-next-icon" aria-hidden="true"></span>
324 <span class="sr-only">Next</span>
325 </a>
326 </div>
327 </div>
328
329 </div>
330
331 <div class="row">
332 <div class="col-12">
333 <div class="corpoDoTexto">
334 ${corpoDoTexto}
335 </div>
336 </div>
337 </div>
338 <#if ficheirosArray?has_content>
339
340 <div class="row conteudo">
341 <div class="col-12">
342 <h3>Mais Informações</h3>
343 </div>
344 <div class="col-12">
345 <ul>
346 <#list ficheirosArray as item>
347 <li><a class="verde" target="_blank"
348 href="${item?split("|")?first}">${item?split("|")?last}</a>
349 </li>
350 </#list>
351 </ul>
352 </div>
353 </div>
354
355 </#if>
356
357 <#if telefonesArray?has_content || emailsArray?has_content || sitesArray?has_content || redesSociaisArray?has_content>
358 <div class="conteudo">
359
360 <h3>Contatos</h3>
361
362
363 <#if telefonesArray?has_content>
364 <div class="info-contato">
365 <div class="row">
366 <div class="col-md-2">
367 <b>Telefone</b>
368 </div>
369 <div class="col-md-10">
370 <#list telefonesArray as item>
371 <p>${item}</p>
372 </#list>
373 </div>
374 </div>
375 </div>
376 </#if>
377
378 <#if emailsArray?has_content>
379 <div class="info-contato">
380 <div class="row">
381 <div class="col-md-2">
382 <b>Email</b>
383 </div>
384 <div class="col-md-10">
385 <#list emailsArray as item>
386 <p>${item}</p>
387 </#list>
388 </div>
389 </div>
390 </div>
391 </#if>
392
393 <#if sitesArray?has_content>
394 <div class="info-contato">
395 <div class="row">
396 <div class="col-md-2">
397 <b>Site</b>
398 </div>
399 <div class="col-md-10">
400
401 <#list sitesArray as item>
402 <p><a class="verde" href="${item}">${item}</a></p>
403 </#list>
404 </div>
405 </div>
406 </div>
407 </#if>
408
409 <#if redesSociaisArray?has_content>
410 <div class="info-contato">
411 <div class="row">
412 <div class="col-md-2">
413 <b>Redes Sociais</b>
414 </div>
415 <div class="col-md-10">
416 <#list redesSociaisArray as item>
417 <#if item?contains("linked")>
418 <a href="${item}"><i
419 class="fab fa-linkedin fa-2x"></i></a>
420 </#if>
421 <#if item?contains("facebook")>
422 <a href="${item}"><i
423 class="fab fa-facebook-square fa-2x"></i></a>
424 </#if>
425 <#if item?contains("twitter")>
426 <a href="${item}"><i
427 class="fab fa-twitter-square fa-2x"></i></a>
428 </#if>
429 <#if item?contains("youtube")>
430 <a href="${item}"><i
431 class="fab fa-youtube-square text-danger fa-2x"></i></a>
432 </#if>
433 <#if item?contains("instagram")>
434 <a href="${item}"><i
435 class="fab fa-instagram-square fa-2x"></i></a>
436 </#if>
437 </#list>
438 </div>
439 </div>
440 </div>
441 </#if>
442
443 </#if>
444
445 <div class="col-12 text-right">
446 <p style="color:#9e9797">Atualizado
447 em: ${ article.getModifiedDate()?string["dd/MM/yyyy"]}</p>
448 </div>
449
450 <div class="a2a_kit a2a_kit_size_32 a2a_default_style"
451 data-a2a-icon-color = "transparent, black">
452 <a class="a2a_button_facebook"></a>
453 <a class="a2a_button_twitter"></a>
454 <a class="a2a_button_whatsapp"></a>
455 <a class="a2a_button_facebook_messenger"></a>
456 <a class="a2a_button_email"></a>
457 <a class="a2a_button_copy_link"></a>
458 <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
459 </div>
460
461 <#if assetEntry.getTags()?has_content>
462 <div class="col-12 mt-4">
463 <#list assetEntry.getTags() as tag>
464 <a href="/pesquisa?q=${tag.name}" class="badge badge-pill badge-silver p-2">${tag.name}</a>
465 </#list>
466 </div>
467 </#if>
468
469 <@liferay_util["html-top"]>
470 <script crossorigin="anonymous" src="${themeDisplay.getPortalURL()}/documents/20123/259580/fontawesome.js"></script>
471 <script src="${themeDisplay.getPortalURL()}/documents/20123/259580/page.js"></script>
472 <meta property="og:title" content="${titulo}" />
473 <meta property="og:description" content="${subtitulo}" />
474 <meta property="og:type" content="article" />
475 <meta property="og:locale" content="${locale}" />
476 <meta property="og:site_name" content="${company.getName()}" />
477 <meta property="og:url" content="${themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()}">
478 <#if tagsArray?has_content>
479 <meta property="article:tag" content="${tags?join(",")}" />
480 </#if>
481
482 <#if shareImgFileEntry??>
483 <meta property="og:image" itemprop="image" content="${themeDisplay.getURLPortal()}/o/adaptive-media/image/${shareImgFileEntry.getFileEntryId()}/thumbnail-600x0/${shareImgFileEntry.getFileName()}" />
484 </#if>
485 </@>
486 </div>
487
488
489 </section>
490 </div>
491
492 <div class="col-md-4">
493 <#if currentArticleRelatedLinks?has_content>
494 <aside id="relatedCampaign">
495 <div class="container-fluid">
496 <div class="container">
497 <h2>Outras Campanhas</h2>
498 <div class="row">
499 <#list currentArticleRelatedLinks as related>
500 <#assign assertRelated = assetEntryService.getEntry(related.getEntryId2()) />
501 <#assign assetRendererRelated = assertRelated.getAssetRenderer() />
502 <#assign articleRelated = assetRendererRelated.getArticle() />
503 <#assign documentRelated = saxReaderUtil.read(articleRelated.getContent()) />
504 <#assign rootElementRelated = documentRelated.getRootElement() />
505 <#assign assetRelatedUrlTitle = articleRelated.getUrlTitle(locale) />
506
507 <#assign imagemURLRelated = "" />
508 <#assign tituloRelated = "" />
509 <#assign subtituloRelated = "" />
510
511 <#list rootElementRelated.elements() as el>
512 <#list el.elements() as il>
513 <#if "imagensLink" == il.attributeValue("name") && il.attributeValue("name")?has_content>
514 <#assign imagemURLRelated = il.element("dynamic-content").getData()?eval />
515 </#if>
516
517 <#if "titulo" == il.attributeValue("name") && il.attributeValue("name")?has_content>
518 <#assign tituloRelated = il.element("dynamic-content").getData() />
519 </#if>
520
521 <#if "subtitulo" == il.attributeValue("name") && il.attributeValue("name")?has_content>
522 <#assign subtituloRelated = il.element("dynamic-content").getData() />
523 </#if>
524
525 </#list>
526 </#list>
527
528 <div class="col-md-12">
529 <div class="card"
530 style="background-color: white;">
531 <#if imagemURLRelated?has_content>
532 <@adaptive_media_image["img"] class="card-img-top"
533 fileVersion=dlAppServiceUtil.getFileEntry(imagemURLRelated.fileEntryId?number).getFileVersion()
534 alt="${imagemURLRelated.alt}" />
535 </#if>
536 <div class="card-body" style="color: #3B3B3B">
537 <p class="card-text card-text-title verde"> ${tituloRelated}</p>
538 <br/>
539 <p class="card-text card-text-subtitle"> ${subtituloRelated}</p>
540 <a href="/campanhas/${assetRelatedUrlTitle}"
541 class="stretched-link"></a>
542 </div>
543
544 </div>
545 </div>
546 </#list>
547 </div>
548 </div>
549 </div>
550 </aside>
551 </#if>
552 </div>
553 </div>
554 </div>
555
556</div>
- --- NATIONAL ---
- AIDGLOBAL
- Erasmus + Youth in Action National Agency
- Association for Family Protection
- Sonha, Faz e Acontece Youth Association
- Santarém Special Sport Association
- National Youth Council
- European Intercultural Club
- DYPALL NETWORK
- Santarém Higher School of Sport
- AFS Interculture Portugal
- MOVIJOVEM - Youth Mobility
- REDE - Portuguese Network of Young People for Gender Equality
- --- INTERNATIONAL ---
- Council of Europe
- Directorate of Democratic Participation of the Council of Europe
- Directorate General of Democracy (“DGII”) of the Council of Europe
- Youth Department of the Council of Europe
- European Youth Centre Budapest
- European Youth Centre Strasbourg
- European Youth Foundation
- European Youth Forum
- Eurodesk
- European Youth Information and Counselling Agency
- European Youth Portal
- --- COUNCIL OF EUROPE QUALITY LABELLED YOUTH CENTRES ---
- Brežice Youth Centre
- CEULAJ - Centro Eurolatinoamericano de Juventud
- Destelheide Youth Centre
- De Hoge Rielen Youth Centre
- Ecocenter Radulovacki Youth Centre
- Killarney Youth Centre
- Marienthal Youth Centre
- Marttinen Youth Centre
- Plovdiv Youth Centre
- Stara Zagora Youth Centre
- Timisoara Youth House
- Villa Elba Youth Centre
- WannseeFORUM Youth Centre
SUBSCRIBE NEWSLETTER
Successfully subscribed newsletter Did not subscribe to the Newsletter. Please try again laterWe use cookies on our website to give you the best experience. By continuing to browse, you are authorize our use of these cookies. However, if you want to know more information, namely how to change your settings, see our Policy .