noticia
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#38564" at line 166, 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#38564" at line 166, 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 #news {
77 padding-bottom: 50px;
78 }
79
80 h3 {
81 border-bottom: 2px solid #E2E2E2;
82 padding-bottom: 10px;
83 }
84
85 #relatedNews {
86
87 color: #A1BB15;
88 }
89
90 #relatedNews h2 {
91 font-size: 1rem;
92 padding-bottom: 20px;
93 text-transform: uppercase;
94 letter-spacing: 5px;
95 word-spacing: 10px;
96 }
97
98 .verde, a.verde:hover {
99 color: #A1BB15;
100 }
101
102 .info-contato {
103 padding: 0.5rem 0;
104 }
105
106 .card-img-top {
107 width: 100%;
108 height: auto;
109 }
110
111 .card-text-title {
112 font-size: 1.125rem;
113 }
114
115 .a2a_kit {
116 z-index: 1000;
117 }
118
119 .stretched-link::after {
120 z-index: 0 !important;
121 }
122
123 .badge-silver {
124 background-color: #e0e0e0;
125 color: #272833;
126 font-size: 1rem;
127 letter-spacing: 0.09rem;
128 }
129
130 .badge-silver:hover {
131 background-color: #c3c3c3;
132 color: #272833;
133 }
134
135
136 .fa-linkedin {
137 color: #0e76a8;
138 }
139
140 .fa-facebook-square {
141 color: #3b5998;
142 }
143
144 .fa-instagram {
145 color: #405DE6;
146 }
147
148 .fa-twitter {
149 color: #00acee;
150 }
151
152 .fa-youtube {
153 color: #c4302b;
154 }
155
156</style>
157
158<#assign urlTitle = paramUtil.getString(themeDisplay.getRequest(), "titulo", "") />
159<#assign assetEntryService = staticUtil["com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil"] />
160<#assign assetLinkLocalService = staticUtil["com.liferay.asset.kernel.service.AssetLinkLocalServiceUtil"] />
161<#assign layoutLocalService = staticUtil["com.liferay.portal.kernel.service.LayoutLocalServiceUtil"] />
162<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
163<#assign dlAppServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppServiceUtil"] />
164<#assign classNameUtil = staticUtil["com.liferay.portal.kernel.service.ClassNameServiceUtil"] />
165<#assign articleClassName = classNameUtil.fetchClassName("com.liferay.journal.model.JournalArticle") />
166<#assign article = journalArticleService.fetchArticleByUrlTitle(groupId, urlTitle?url('UTF-8')) />
167<#assign assetEntry = assetEntryService.fetchEntry(articleClassName.getClassNameId(), article.getResourcePrimKey()) />
168<#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(assetEntry.getEntryId()) />
169<#assign document = saxReaderUtil.read(article.getContent()) />
170<#assign rootElement = document.getRootElement() />
171
172<#assign relationsNewsArray = []>
173<#assign imagensArray = []>
174<#assign telefonesArray = []>
175<#assign ficheirosArray = []>
176<#assign emailsArray = []>
177<#assign sitesArray = []>
178<#assign redesSociaisArray = []>
179
180<#assign ficheiro = "" />
181<#assign ficheiroURL = "" />
182<#assign data = dateUtil.newTime() />
183<#assign titulo = "" />
184<#assign subtitulo = "" />
185<#assign corpoDoTexto = "" />
186<#assign redeSocial = "" />
187<#assign currentUrl = themeDisplay.getPortalURL() />
188
189<#list rootElement.elements() as el>
190 <#list el.elements() as il>
191 <#if il.attributeValue("name")??>
192 <#if "imagem" == il.attributeValue("name")>
193 <#if il.element("dynamic-content")?has_content && il.element("dynamic-content").getData()?has_content>
194 <#assign imagem = il.element("dynamic-content").getData()?eval />
195 <#assign imagensArray += [imagem] />
196 </#if>
197 </#if>
198
199 <#if "data" == il.attributeValue("name")>
200
201 <#assign data = il.element("dynamic-content").getData() />
202 <#if data?has_content>
203 <#assign data = data?split("-")[2] + "/"+ data?split("-")[1] + "/" + data?split("-")[0]/>
204 </#if>
205 </#if>
206
207 <#if "titulo" == il.attributeValue("name")>
208 <#assign titulo = il.element("dynamic-content").getData() />
209 </#if>
210
211 <#if "subtitulo" == il.attributeValue("name")>
212 <#assign subtitulo = il.element("dynamic-content").getData() />
213
214 </#if>
215
216 <#if "corpoDoTexto" == il.attributeValue("name")>
217 <#assign corpoDoTexto = il.element("dynamic-content").getData() />
218 </#if>
219
220 <#if "DocumentosEMdias19f7" == il.attributeValue("name")>
221 <#assign ficheiro = il.element("dynamic-content").getData() />
222 <#if ficheiro?has_content>
223 <#assign ficheiro = ficheiro?eval />
224 <#assign ficheirosArray += ["/c/document_library/get_file?uuid=" + ficheiro.uuid + "&groupId=" + ficheiro.groupId + "|" + ficheiro.title] />
225 </#if>
226 </#if>
227
228
229 <#if "telefone" == il.attributeValue("name")>
230 <#if il.element("dynamic-content").getData()?has_content>
231 <#assign telefonesArray += [il.element("dynamic-content").getData()] />
232 </#if>
233 </#if>
234
235 <#if "email" == il.attributeValue("name")>
236 <#if il.element("dynamic-content").getData()?has_content>
237 <#assign emailsArray += [il.element("dynamic-content").getData()] />
238 </#if>
239 </#if>
240
241 <#--
242 <#if "site" == il.attributeValue("name")>
243 <#assign site = il.element("dynamic-content").getData() />
244 <#assign layoutID = site?split("@")?first />
245 <#assign groupID = site?split("@")?last />
246 <#if layoutID?has_content && groupID?has_content>
247 <#assign pageLayout = layoutLocalService.getLayout(groupID?number?long, false, layoutID?number?long) />
248 <#assign pageURL = pageLayout.getFriendlyURL() />
249 <#assign pageTitle = pageLayout.getName() />
250 <#assign sitesArray += [pageURL + "|" +pageTitle]/>
251 </#if>
252 </#if> -->
253
254 <#if "site" == il.attributeValue("name")>
255 <#if il.element("dynamic-content").getData()?has_content>
256 <#assign sitesArray += [il.element("dynamic-content").getData()] />
257 </#if>
258 </#if>
259
260 <#if "redesocial1" == il.attributeValue("name")>
261 <#assign redeSocial = il.element("dynamic-content").getData() />
262 <#if redeSocial?has_content>
263 <#assign redesSociaisArray += [redeSocial]/>
264 </#if>
265 </#if>
266
267 </#if>
268
269 </#list>
270</#list>
271
272
273<div class="container-fluid">
274
275 <div class="container">
276
277 <div class="row">
278 <div class="col-12">
279 <nav class="breadcrumb-nav">
280 <ul class="breadcrumb-ul list-unstyled list-inline">
281 <li class="breadcrumb-element list-inline-item"><a href="/"><i class="fa fa-home"></i></a></li>
282 <li class="breadcrumb-element list-inline-item"><a href="/noticias">Noticias</a></li>
283 <li class="breadcrumb-element list-inline-item active">${titulo}</li>
284 </ul>
285 </nav>
286 </div>
287 <div class="col-md-8">
288 <section id="news">
289
290 <div class="row conteudo">
291 <div class="col-md-12">
292 <h1>${titulo}</h1>
293 <h2>${subtitulo}</h2>
294 <div class="data-criacao">
295 <span><i class="fas fa-clock"></i>${data}</span>
296 </div>
297 </div>
298 </div>
299 <div class="row">
300 <div>
301 <div id="carouselIndicators" class="carousel slide"
302 data-ride="carousel">
303 <ol class="carousel-indicators">
304 <#list imagensArray as item>
305 <#if item?is_first>
306 <li data-target="#carouselIndicators" data-slide-to="${item?index}"
307 class="active"></li>
308 <#else>
309 <li data-target="#carouselIndicators"
310 data-slide-to="${item?index}"></li>
311 </#if>
312 </#list>
313 </ol>
314 <div class="carousel-inner">
315 <#list imagensArray as item>
316 <#if item?is_first>
317 <div class="carousel-item active">
318 <#else>
319 <div class="carousel-item">
320 </#if>
321 <#assign imagemFileEntry = dlAppServiceUtil.getFileEntry(item.fileEntryId?number) />
322 <#if !shareImgFileEntry??>
323 <#assign shareImgFileEntry = imagemFileEntry />
324 </#if>
325 <@adaptive_media_image["img"] class="d-block w-100 container-image" fileVersion=imagemFileEntry.getFileVersion() alt="${item.alt}"/>
326 </div>
327 </#list>
328 </div>
329
330 <a class="carousel-control-prev" href="#carouselIndicators" role="button"
331 data-slide="prev">
332 <span class="carousel-control-prev-icon" aria-hidden="true"></span>
333 <span class="sr-only">Previous</span>
334 </a>
335 <a class="carousel-control-next" href="#carouselIndicators" role="button"
336 data-slide="next">
337 <span class="carousel-control-next-icon" aria-hidden="true"></span>
338 <span class="sr-only">Next</span>
339 </a>
340
341 </div>
342
343 </div>
344 </div>
345
346 <div class="row">
347 <div class="col-12">
348 <div class="corpoDoTexto">
349 ${corpoDoTexto}
350 </div>
351 </div>
352 </div>
353 <#if ficheirosArray?has_content>
354
355 <div class="row conteudo">
356 <div class="col-12">
357 <h3>Mais Informações</h3>
358 </div>
359 <div class="col-12">
360 <ul>
361 <#list ficheirosArray as item>
362 <li><a class="verde" target="_blank"
363 href="${item?split("|")?first}">${item?split("|")?last}</a>
364 </li>
365 </#list>
366 </ul>
367 </div>
368 </div>
369
370 </#if>
371
372 <#if telefonesArray?has_content || emailsArray?has_content || sitesArray?has_content || redesSociaisArray?has_content>
373 <div class="conteudo">
374
375 <h3>Contatos</h3>
376
377
378 <#if telefonesArray?has_content>
379 <div class="info-contato">
380 <div class="row">
381 <div class="col-md-2">
382 <b>Telefone</b>
383 </div>
384 <div class="col-md-10">
385 <#list telefonesArray as item>
386 <p>${item}</p>
387 </#list>
388 </div>
389 </div>
390 </div>
391 </#if>
392
393 <#if emailsArray?has_content>
394 <div class="info-contato">
395 <div class="row">
396 <div class="col-md-2">
397 <b>Email</b>
398 </div>
399 <div class="col-md-10">
400 <#list emailsArray as item>
401 <p>${item}</p>
402 </#list>
403 </div>
404 </div>
405 </div>
406 </#if>
407
408 <#if sitesArray?has_content>
409 <#assign portalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] />
410 <#assign baseURL = portalUtil.getPortalURL(request) />
411 <div class="info-contato">
412 <div class="row">
413 <div class="col-md-2">
414 <b>Site</b>
415 </div>
416 <div class="col-md-10">
417
418 <#list sitesArray as item>
419 <p><a class="verde" href="${item}" target="${item?starts_with(baseURL)?then('_self', '_blank')}">${item}</a></p>
420 </#list>
421 </div>
422 </div>
423 </div>
424 </#if>
425
426 <#if redesSociaisArray?has_content>
427 <div class="info-contato">
428 <div class="row">
429 <div class="col-md-2">
430 <b>Redes Sociais</b>
431 </div>
432 <div class="col-md-10">
433 <#list redesSociaisArray as item>
434 <#if item?contains("linked")>
435 <a href="${item}" target="_blank"><i
436 class="fab fa-linkedin fa-2x"></i></a>
437 </#if>
438 <#if item?contains("facebook")>
439 <a href="${item}" target="_blank"><i
440 class="fab fa-facebook-square fa-2x"></i></a>
441 </#if>
442 <#if item?contains("insta")>
443 <a href="${item}" target="_blank"><i
444 class="fab fa-instagram fa-2x"></i></a>
445 </#if>
446 <#if item?contains("twitter")>
447 <a href="${item}" target="_blank"><i
448 class="fab fa-twitter fa-2x"></i></a>
449 </#if>
450 <#if item?contains("youtube")>
451 <a href="${item}" target="_blank"><i
452 class="fab fa-youtube fa-2x"></i></a>
453 </#if>
454 </#list>
455 </div>
456 </div>
457 </div>
458 </#if>
459
460 </#if>
461
462 <div class="row">
463 <div class="col-12 text-right">
464 <p style="color:#9e9797">Atualizado
465 em: ${ article.getModifiedDate()?string["dd/MM/yyyy"]}</p>
466 </div>
467
468 <div class="a2a_kit a2a_kit_size_32 a2a_default_style"
469 data-a2a-icon-color = "transparent, black">
470 <a class="a2a_button_facebook"></a>
471 <a class="a2a_button_twitter"></a>
472 <a class="a2a_button_whatsapp"></a>
473 <a class="a2a_button_facebook_messenger"></a>
474 <a class="a2a_button_email"></a>
475 <a class="a2a_button_copy_link"></a>
476 <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
477 </div>
478
479 <#if assetEntry.getTags()?has_content>
480 <div class="col-12 mt-4">
481 <#list assetEntry.getTags() as tag>
482 <a href="/pesquisa?q=${tag.name}" class="badge badge-pill badge-silver p-2">${tag.name}</a>
483 </#list>
484 </div>
485 </#if>
486
487 <@liferay_util["html-top"]>
488 <script crossorigin="anonymous" src="https://kit.fontawesome.com/9f47eedf41.js"></script>
489 <script src="https://static.addtoany.com/menu/page.js"></script>
490 <meta property="og:title" content="${titulo}" />
491 <meta property="og:description" content="${subtitulo}" />
492 <meta property="og:type" content="article" />
493 <meta property="og:locale" content="${locale}" />
494 <meta property="og:site_name" content="${company.getName()}" />
495 <meta property="og:url" content="${themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()}">
496 <#if tagsArray?has_content>
497 <meta property="article:tag" content="${tags?join(",")}" />
498 </#if>
499
500 <#if shareImgFileEntry??>
501 <meta property="og:image" itemprop="image" content="${themeDisplay.getURLPortal()}/o/adaptive-media/image/${shareImgFileEntry.getFileEntryId()}/thumbnail-600x0/${shareImgFileEntry.getFileName()}" />
502 </#if>
503 </@>
504 </div>
505
506
507 </section>
508 </div>
509
510 <div class="col-md-4">
511 <#if currentArticleRelatedLinks?has_content>
512 <aside id="relatedNews">
513 <div class="container-fluid">
514 <div class="container">
515 <h2>Notícias Relacionadas</h2>
516 <div class="row">
517 <#list currentArticleRelatedLinks as related>
518 <#assign assertRelated = assetEntryService.getEntry(related.getEntryId2()) />
519 <#assign assetRendererRelated = assertRelated.getAssetRenderer() />
520 <#assign articleRelated = assetRendererRelated.getArticle() />
521 <#assign documentRelated = saxReaderUtil.read(articleRelated.getContent()) />
522 <#assign rootElementRelated = documentRelated.getRootElement() />
523 <#assign assetRelatedUrlTitle = articleRelated.getUrlTitle(locale) />
524
525 <#assign tituloRelated = "" />
526 <#assign subtituloRelated = "" />
527
528 <#list rootElementRelated.elements() as el>
529 <#list el.elements() as il>
530 <#if "imagem" == il.attributeValue("name") && il.element("dynamic-content").getData()?has_content>
531 <#assign imagemURLRelated = il.element("dynamic-content").getData()?eval />
532 </#if>
533
534 <#if "titulo" == il.attributeValue("name")>
535 <#assign tituloRelated = il.element("dynamic-content").getData() />
536 </#if>
537
538 <#if "subtitulo" == il.attributeValue("name")>
539 <#assign subtituloRelated = il.element("dynamic-content").getData() />
540
541 </#if>
542
543 </#list>
544 </#list>
545
546 <div class="col-md-12">
547 <div class="card"
548 style="background-color: white;">
549 <#if imagemURLRelated?has_content>
550 <@adaptive_media_image["img"] class="card-img-top"
551 fileVersion=dlAppServiceUtil.getFileEntry(imagemURLRelated.fileEntryId?number).getFileVersion()
552 alt="${imagemURLRelated.alt}" />
553 </#if>
554 <div class="card-body" style="color: #3B3B3B">
555 <p class="card-text card-text-title verde"> ${tituloRelated}</p>
556 <br/>
557 <p class="card-text card-text-subtitle"> ${subtituloRelated}</p>
558 <a href="/noticia/-/${assetRelatedUrlTitle}"
559 class="stretched-link"></a>
560
561 <div class="a2a_kit a2a_kit_size_32 a2a_default_style"
562 data-a2a-icon-color="transparent, black"
563 data-a2a-url="${currentUrl}/noticia/-/${assetRelatedUrlTitle}">
564 <a class="a2a_button_facebook"></a>
565 <a class="a2a_button_twitter"></a>
566 <a class="a2a_button_whatsapp"></a>
567 <a class="a2a_button_facebook_messenger"></a>
568 <a class="a2a_button_email"></a>
569 <a class="a2a_button_copy_link"></a>
570 <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
571 </div>
572 </div>
573
574 </div>
575 </div>
576 </#list>
577 </div>
578 </div>
579 </div>
580 </aside>
581 </#if>
582 </div>
583 </div>
584 </div>
585
586</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 later
We 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 .