XXIIº Torneio Desportivo Internacional de Futebol de Formação - XXIIº Torneio Desportivo Internacional de Futebol de Formação
COMO PODEMOS AJUDAR?
- ASSOCIATIVISMO JOVEM
- DESPORTO FEDERADO
- CIDADANIA, INCLUSÃO E PARTICIPAÇÃO
- DESPORTO PARA TODOS
- CULTURA E CRIATIVIDADE
- ENTIDADES DESPORTIVAS
- ÉTICA NO DESPORTO
- EDUCAÇÃO NÃO FORMAL E FORMAÇÃO
- HABITAÇÃO, EMPREGO E EMPREENDEDORISMO
- FORMAÇÃO E CERTIFICAÇÃO NO DESPORTO
- SAÚDE JUVENIL
- INSTALAÇÕES DESPORTIVAS
- VOLUNTARIADO E TEMPOS LIVRES
- MEDICINA DESPORTIVA
- ASSOCIATIVISMO JOVEM
Programas de Apoio ao Associativismo Jovem
Programa Formar+
Estatística e Publicação de Associações
- DESPORTO FEDERADO
Alto Rendimento
Seguro Desportivo
- CIDADANIA, INCLUSÃO E PARTICIPAÇÃO
Informação Útil
- DESPORTO PARA TODOS
Áreas de Intervenção
Projetos
- ÉTICA NO DESPORTO
- EDUCAÇÃO NÃO FORMAL E FORMAÇÃO
Mobilidade Internacional
- FORMAÇÃO E CERTIFICAÇÃO NO DESPORTO
Técnicos de Fitness
Treinadores de Desporto
Apoio à Formação
Mergulho Recreativo
- SAÚDE JUVENIL
Programa Cuida-te+
Cuida-te+ Saúde Mental
Cuida-te+ Sexualidade
Cuida-te+ Comportamentos Aditivos
- VOLUNTARIADO E TEMPOS LIVRES
Voluntariado
Programa Agora Nós
Tempos Livres
- ASSOCIATIVISMO JOVEM
- Programas de Apoio ao Associativismo Jovem
- ASSOCIATIVISMO JOVEM
- Estatística e Publicação de Associações
- DESPORTO FEDERADO
- Alto Rendimento
Medidas de Apoio
Outras Informações
- CIDADANIA, INCLUSÃO E PARTICIPAÇÃO
- Informação Útil
- DESPORTO PARA TODOS
- Projetos
- EDUCAÇÃO NÃO FORMAL E FORMAÇÃO
- Mobilidade Internacional
- HABITAÇÃO, EMPREGO E EMPREENDEDORISMO
- Estágio e Emprego
Estágios
Emprego
- HABITAÇÃO, EMPREGO E EMPREENDEDORISMO
- Mobilidade Internacional
- FORMAÇÃO E CERTIFICAÇÃO NO DESPORTO
- Técnicos de Fitness
- FORMAÇÃO E CERTIFICAÇÃO NO DESPORTO
- Treinadores de Desporto
- FORMAÇÃO E CERTIFICAÇÃO NO DESPORTO
- Apoio à Formação
- FORMAÇÃO E CERTIFICAÇÃO NO DESPORTO
- Mergulho Recreativo
- SAÚDE JUVENIL
- Programa Cuida-te+
Gabinetes de Saúde Juvenil
- SAÚDE JUVENIL
- Cuida-te+ Saúde Mental
- SAÚDE JUVENIL
- Cuida-te+ Sexualidade
Planeamento Familiar, Métodos Contracetivos e Contraceção de Emergência
Puberdade e Sexualidade
Saúde Reprodutiva
Saúde Sexual
- SAÚDE JUVENIL
- Cuida-te+ Comportamentos Aditivos
- VOLUNTARIADO E TEMPOS LIVRES
- Programa Agora Nós
- MEDICINA DESPORTIVA
- Serviços
Exames Médicos
- DESPORTO FEDERADO
- Alto Rendimento
- Medidas de Apoio
- DESPORTO FEDERADO
- Alto Rendimento
- Outras Informações
- SAÚDE JUVENIL
- Programa Cuida-te+
- Gabinetes de Saúde Juvenil
- SAÚDE JUVENIL
- Cuida-te+ Sexualidade
- Planeamento Familiar, Métodos Contracetivos e Contraceção de Emergência
- SAÚDE JUVENIL
- Cuida-te+ Sexualidade
- Puberdade e Sexualidade
- SAÚDE JUVENIL
- Cuida-te+ Sexualidade
- Saúde Reprodutiva
- SAÚDE JUVENIL
- Cuida-te+ Sexualidade
- Saúde Sexual
null XXIIº Torneio Desportivo Internacional de Futebol de Formação
Paula Brito
modificado à 1 Mês atrás.
Ocorreu um erro ao processar o template.
The following has evaluated to null or missing: ==> journalArticleService.fetchArticleByUrlTitle(groupId, parseUrl[0]) [in template "20101#20127#227460" at line 188, column 22] ---- 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 "20101#20127#227460" at line 188, column 3] ----
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: #EF7105;
56 padding-top: 20px;
57 font-size: 1.5rem;
58 }
59
60 .conteudo h4 {
61 padding-top: 20px;
62 }
63
64 .corpoDoTexto {
65 padding-top: 20px;
66 }
67
68 .data-criacao {
69 border-bottom: 2px solid #E2E2E2;
70 padding-top: 30px;
71 padding-bottom: 10px;
72 }
73
74 .data-criacao .fas {
75 color: #EF7105;
76 padding-right: 10px;
77 }
78
79 #event {
80 padding-bottom: 50px;
81 }
82
83 h3 {
84 border-bottom: 2px solid #E2E2E2;
85 padding-bottom: 10px;
86 }
87
88 #relatedEvents {
89
90 color: #EF7105;
91 }
92
93 #relatedEvents h2 {
94 font-size: 1rem;
95 padding-bottom: 20px;
96 text-transform: uppercase;
97 letter-spacing: 5px;
98 word-spacing: 10px;
99 }
100
101 .laranja, a.laranja:hover {
102 color: #EF7105;
103 }
104
105 .info-contato {
106 padding: 0.5rem 0;
107 }
108
109 .card-img-top {
110 width: 100%;
111 height: auto;
112 }
113
114 .card-text-title {
115 font-size: 1.125rem;
116 }
117
118 .image-center {
119 display: block;
120 margin-left: auto;
121 margin-right: auto;
122 }
123
124 .a2a_kit {
125 z-index: 1000;
126 }
127
128 .stretched-link::after {
129 z-index: 0 !important;
130 }
131
132 .badge-silver {
133 background-color: #e0e0e0;
134 color: #272833;
135 font-size: 1rem;
136 letter-spacing: 0.09rem;
137 }
138
139 .badge-silver:hover {
140 background-color: #c3c3c3;
141 color: #272833;
142 }
143
144 .fa-facebook-square {
145 color: #3b5998;
146 }
147
148 .fa-instagram {
149 color: #405DE6;
150 }
151
152 .fa-twitter {
153 color: #00acee;
154 }
155
156 .fa-youtube {
157 color: #c4302b;
158 }
159</style>
160
161<#assign urlTitle = themeDisplay.getURLCurrent()/>
162<#assign lang = themeDisplay.getLanguageId() />
163<#if urlTitle[0..2] == '/-/'>
164 <#assign urlTitle = urlTitle?replace('/-/', '') />
165<#else>
166 <#if lang == 'en_US'>
167 <#assign urlTitle = urlTitle?replace('/en/-/', '') />
168 <#else>
169 <#assign urlTitle = urlTitle?replace('/pt/-/', '') />
170 </#if>
171</#if>
172
173<#assign assetEntryService = staticUtil["com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil"] />
174<#assign assetLinkLocalService = staticUtil["com.liferay.asset.kernel.service.AssetLinkLocalServiceUtil"] />
175<#assign layoutLocalService = staticUtil["com.liferay.portal.kernel.service.LayoutLocalServiceUtil"] />
176<#assign dlAppServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppServiceUtil"] />
177<#assign classNameUtil = staticUtil["com.liferay.portal.kernel.service.ClassNameServiceUtil"] />
178<#assign articleClassName = classNameUtil.fetchClassName("com.liferay.journal.model.JournalArticle") />
179<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
180
181<#attempt>
182
183 <#assign article = journalArticleService.fetchArticleByUrlTitle(groupId, urlTitle) />
184
185<#recover>
186 <#assign parseUrl = urlTitle?split('?') >
187
188 <#assign article = journalArticleService.fetchArticleByUrlTitle(groupId, parseUrl[0]) />
189</#attempt>
190
191<#assign assetEntry = assetEntryService.fetchEntry(articleClassName.getClassNameId(), article.getResourcePrimKey()) />
192<#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(assetEntry.getEntryId()) />
193
194<#assign document = saxReaderUtil.read(article.getContent()) />
195<#assign rootElement = document.getRootElement() />
196
197<#assign relationsNewsArray = []>
198<#assign imagensArray = []>
199<#assign telefonesArray = []>
200<#assign ficheirosArray = []>
201<#assign emailsArray = []>
202<#assign sitesArray = []>
203<#assign redesSociaisArray = []>
204<#assign sessoesArray = []>
205
206<#assign imagemEvento = "" />
207<#assign imageURL = "" />
208<#assign DataDoEvento = "" />
209<#assign titulo = "" />
210<#assign subtitulo = "" />
211<#assign corpoDoTexto = "" />
212<#assign hora = "" />
213<#assign entidadeOrganizadora = "" />
214<#assign sessaoString = "" />
215<#assign currentUrl = themeDisplay.getPortalURL() />
216
217<#list rootElement.elements() as el>
218 <#list el.elements() as il>
219 <#if il.attributeValue("name")??>
220
221 <#if "DataDoEvento" == il.attributeValue("name")>
222 <#assign DataDoEvento = il.element("dynamic-content").getData() />
223 </#if>
224
225 <#if "Hora" == il.attributeValue("name")>
226 <#assign hora = il.element("dynamic-content").getData() />
227 </#if>
228
229 <#if "titulo" == il.attributeValue("name")>
230 <#assign titulo = il.element("dynamic-content").getData() />
231 </#if>
232
233 <#if "subtitulo" == il.attributeValue("name")>
234 <#assign subtitulo = il.element("dynamic-content").getData() />
235 </#if>
236
237 <#if "corpoDoTexto" == il.attributeValue("name")>
238 <#assign corpoDoTexto = il.element("dynamic-content").getData() />
239 </#if>
240
241 <#if "maisinformacaoFicheiro" == il.attributeValue("name")>
242 <#assign ficheiro = il.element("dynamic-content").getData() />
243 <#if ficheiro?has_content>
244 <#assign ficheiro = ficheiro?eval />
245 <#assign ficheirosArray += ["/c/document_library/get_file?uuid=" + ficheiro.uuid + "&groupId=" + ficheiro.groupId + "|" + ficheiro.title] />
246 </#if>
247 </#if>
248
249 <#if "imagemEvento" == il.attributeValue("name") && il.element("dynamic-content").getData()?has_content>
250 <#assign imagem = il.element("dynamic-content").getData()?eval />
251 <#assign imagensArray += [imagem] />
252 </#if>
253
254 <#if "entidadeOrganizadora" == il.attributeValue("name")>
255 <#assign entidadeOrganizadora = il.element("dynamic-content").getData() />
256 </#if>
257
258 <#if "telefone" == il.attributeValue("name")>
259 <#if il.element("dynamic-content").getData()?has_content>
260 <#assign telefonesArray += [il.element("dynamic-content").getData()] />
261 </#if>
262 </#if>
263
264 <#if "email" == il.attributeValue("name")>
265 <#if il.element("dynamic-content").getData()?has_content>
266 <#assign emailsArray += [il.element("dynamic-content").getData()] />
267 </#if>
268 </#if>
269
270
271
272 <#if "site" == il.attributeValue("name")>
273 <#if il.element("dynamic-content").getData()?has_content>
274 <#assign sitesArray += [il.element("dynamic-content").getData()] />
275 </#if>
276 </#if>
277
278 <#if "redesocial" == il.attributeValue("name")>
279 <#assign redeSocial = il.element("dynamic-content").getData() />
280 <#if redeSocial?has_content>
281 <#assign redesSociaisArray += [redeSocial]/>
282 </#if>
283 </#if>
284
285 <#if "dataInicioDoEvento" == il.attributeValue("name")>
286 <#if il.element("dynamic-content").getData()?has_content>
287 <#assign dataInicioDoEventoTemp = il.element("dynamic-content").getData() />
288 <#assign sessaoString += dataInicioDoEventoTemp?split("-")[2] + "/"+ dataInicioDoEventoTemp?split("-")[1] + "/" + dataInicioDoEventoTemp?split("-")[0] + "||" />
289 <#else>
290 <#assign sessaoString += "N/A||" />
291 </#if>
292
293 </#if>
294
295 <#if "horaInicio" == il.attributeValue("name")>
296 <#if il.element("dynamic-content").getData()?has_content>
297 <#assign sessaoString += il.element("dynamic-content").getData() + "||" />
298 <#else>
299 <#assign sessaoString += "N/A||" />
300 </#if>
301 </#if>
302
303 <#if "dataFimDoEvento" == il.attributeValue("name")>
304 <#if il.element("dynamic-content").getData()?has_content>
305 <#assign dataFimDoEventoTemp = il.element("dynamic-content").getData() />
306 <#assign sessaoString += dataFimDoEventoTemp?split("-")[2] + "/"+ dataFimDoEventoTemp?split("-")[1] + "/" + dataFimDoEventoTemp?split("-")[0] + "||" />
307 <#else>
308 <#assign sessaoString += "N/A||" />
309 </#if>
310 </#if>
311
312 <#if "horaFim" == il.attributeValue("name")>
313 <#if il.element("dynamic-content").getData()?has_content>
314 <#assign sessaoString += il.element("dynamic-content").getData() + "||" />
315 <#else>
316 <#assign sessaoString += "N/A||" />
317 </#if>
318 </#if>
319
320 <#if "localizacao" == il.attributeValue("name")>
321 <#if il.element("dynamic-content").getData()?has_content>
322 <#assign sessaoString += il.element("dynamic-content").getData() + "@@" />
323 <#else>
324 <#assign sessaoString += "N/A@@" />
325 </#if>
326 </#if>
327
328
329
330 </#if>
331 </#list>
332</#list>
333
334
335<div class="container-fluid">
336
337 <div class="container">
338
339 <div class="row">
340 <div class="col-12">
341 <nav class="breadcrumb-nav">
342 <ul class="breadcrumb-ul list-unstyled list-inline">
343 <li class="breadcrumb-element list-inline-item"><a href="/"><i class="fa fa-home"></i></a></li>
344 <li class="breadcrumb-element list-inline-item"><a href="/eventos">Eventos</a></li>
345 <li class="breadcrumb-element list-inline-item active">${titulo}</li>
346 </ul>
347 </nav>
348 </div>
349 <div class="col-md-8">
350
351 <section id="event">
352
353 <div class="row conteudo">
354 <div class="col-md-12">
355 <h1>${titulo}</h1>
356 <h2>${subtitulo}</h2>
357 <h4>${entidadeOrganizadora}</h4>
358 <div class="data-criacao clearfix">
359 <div class="float-left">
360 <span><i class="fas fa-clock"></i>${DataDoEvento} <span
361 class="laranja">${hora}</span></span>
362 </div>
363 <div class="float-left">
364
365 <#list sessaoString?remove_ending("@@")?split("@@") as evento>
366 <p>
367 <#if evento??>
368 <#assign eventoSplitted = evento?split("||") />
369 <#if eventoSplitted?size gte 1 && !eventoSplitted[0]?contains("N/A")>${eventoSplitted[0]}</#if>
370 <#if eventoSplitted?size gte 2 && !eventoSplitted[1]?contains("N/A")><span class="laranja">${eventoSplitted[1]}</span></#if>
371 <#if eventoSplitted?size gte 3 && !eventoSplitted[2]?contains("N/A")>- ${eventoSplitted[2]}</#if>
372 <#if eventoSplitted?size gte 4 && !eventoSplitted[3]?contains("N/A")><span class="laranja">${eventoSplitted[3]}</span></#if>
373 <#if eventoSplitted?size == 5 && !eventoSplitted[4]?contains("N/A")>- ${eventoSplitted[4]}</#if>
374 </#if>
375 </p>
376
377 </#list>
378 </div>
379 </div>
380 </div>
381 </div>
382 <div class="row">
383 <div class="image-center">
384 <div id="carouselIndicators" class="carousel slide"
385 data-ride="carousel">
386 <ol class="carousel-indicators">
387 <#list imagensArray as item>
388 <#if item?is_first>
389 <li data-target="#carouselIndicators" data-slide-to="${item?index}"
390 class="active"></li>
391 <#else>
392 <li data-target="#carouselIndicators"
393 data-slide-to="${item?index}"></li>
394 </#if>
395 </#list>
396 </ol>
397 <div class="carousel-inner">
398 <#list imagensArray as item>
399 <#if item?is_first>
400 <div class="carousel-item active">
401 <#else>
402 <div class="carousel-item">
403 </#if>
404 <#assign imagemFileEntry = dlAppServiceUtil.getFileEntry(item.fileEntryId?number) />
405 <#if !shareImgFileEntry??>
406 <#assign shareImgFileEntry = imagemFileEntry />
407 </#if>
408 <@adaptive_media_image["img"] class="d-block w-100 container-image img-responsive" fileVersion=imagemFileEntry.getFileVersion() alt="${item.alt}"/>
409 </div>
410 </#list>
411 </div>
412
413 <a class="carousel-control-prev" href="#carouselIndicators" role="button"
414 data-slide="prev">
415 <span class="carousel-control-prev-icon" aria-hidden="true"></span>
416 <span class="sr-only">Previous</span>
417 </a>
418 <a class="carousel-control-next" href="#carouselIndicators" role="button"
419 data-slide="next">
420 <span class="carousel-control-next-icon" aria-hidden="true"></span>
421 <span class="sr-only">Next</span>
422 </a>
423 </div>
424 </div>
425
426 </div>
427
428 <div class="row">
429 <div class="col-12">
430 <div class="corpoDoTexto">
431 ${corpoDoTexto}
432 </div>
433 </div>
434 </div>
435 <#if ficheirosArray?has_content>
436
437 <div class="row conteudo">
438 <div class="col-12">
439 <h3>Mais Informações</h3>
440 </div>
441 <div class="col-12">
442 <ul>
443 <#list ficheirosArray as item>
444 <li><a class="laranja" target="_blank"
445 href="${item?split("|")?first}">${item?split("|")?last}</a>
446 </li>
447 </#list>
448 </ul>
449 </div>
450 </div>
451
452 </#if>
453
454 <#if telefonesArray?has_content || emailsArray?has_content || sitesArray?has_content || redesSociaisArray?has_content>
455 <div class="conteudo">
456
457 <h3>Contatos</h3>
458
459
460 <#if telefonesArray?has_content>
461 <div class="info-contato">
462 <div class="row">
463 <div class="col-md-2">
464 <b>Telefone</b>
465 </div>
466 <div class="col-md-10">
467 <#list telefonesArray as item>
468 <p>${item}</p>
469 </#list>
470 </div>
471 </div>
472 </div>
473 </#if>
474
475 <#if emailsArray?has_content>
476 <div class="info-contato">
477 <div class="row">
478 <div class="col-md-2">
479 <b>Email</b>
480 </div>
481 <div class="col-md-10">
482 <#list emailsArray as item>
483 <p>${item}</p>
484 </#list>
485 </div>
486 </div>
487 </div>
488 </#if>
489
490 <#if sitesArray?has_content>
491 <#assign portalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] />
492 <#assign baseURL = portalUtil.getPortalURL(request) />
493 <div class="info-contato">
494 <div class="row">
495 <div class="col-md-2">
496 <b>Site</b>
497 </div>
498 <div class="col-md-10">
499
500 <#list sitesArray as item>
501 <p><a class="laranja" href="${item}" target="${item?starts_with(baseURL)?then('_self', '_blank')}" >${item}</a></p>
502 </#list>
503 </div>
504 </div>
505 </div>
506 </#if>
507
508 <#if redesSociaisArray?has_content>
509 <div class="info-contato">
510 <div class="row">
511 <div class="col-md-2">
512 <b>Redes Sociais</b>
513 </div>
514 <div class="col-md-10">
515 <#list redesSociaisArray as item>
516 <#if item?contains("linked")>
517 <a href="${item}" target="_blank"><i
518 class="fab fa-linkedin fa-2x"></i></a>
519 </#if>
520 <#if item?contains("facebook")>
521 <a href="${item}" target="_blank"><i
522 class="fab fa-facebook-square fa-2x"></i></a>
523 </#if>
524 <#if item?contains("insta")>
525 <a href="${item}"><i
526 class="fab fa-instagram fa-2x"></i></a>
527 </#if>
528 <#if item?contains("twitter")>
529 <a href="${item}" target="_blank"><i
530 class="fab fa-twitter fa-2x"></i></a>
531 </#if>
532 <#if item?contains("youtube")>
533 <a href="${item}" target="_blank"><i
534 class="fab fa-youtube fa-2x"></i></a>
535 </#if>
536 </#list>
537 </div>
538 </div>
539 </div>
540 </#if>
541
542 </#if>
543
544 <div class="col-12 text-right">
545 <p style="color:#9e9797">Atualizado
546 em: ${ article.getModifiedDate()?string["dd/MM/yyyy"]}</p>
547 </div>
548
549 <div class="a2a_kit a2a_kit_size_32 a2a_default_style"
550 data-a2a-icon-color = "transparent, black">
551 <a class="a2a_button_facebook"></a>
552 <a class="a2a_button_twitter"></a>
553 <a class="a2a_button_whatsapp"></a>
554 <a class="a2a_button_facebook_messenger"></a>
555 <a class="a2a_button_email"></a>
556 <a class="a2a_button_copy_link"></a>
557 <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
558 </div>
559
560 <#if assetEntry.getTags()?has_content>
561 <#assign tags = [] />
562 <div class="col-12 mt-4">
563 <#list assetEntry.getTags() as tag>
564 <#assign tags += [tag.name] />
565 <a href="/pesquisa?q=${tag.name}" class="badge badge-pill badge-silver p-2">${tag.name}</a>
566 </#list>
567 </div>
568 </#if>
569
570 <@liferay_util["html-top"]>
571 <script crossorigin="anonymous" src="${themeDisplay.getPortalURL()}/documents/20123/259580/fontawesome.js"></script>
572 <script src="${themeDisplay.getPortalURL()}/documents/20123/259580/page.js"></script>
573 <meta property="og:title" content="${titulo}" />
574 <meta property="og:description" content="${subtitulo}" />
575 <meta property="og:type" content="article" />
576 <meta property="og:locale" content="${locale}" />
577 <meta property="og:site_name" content="${company.getName()}" />
578 <meta property="og:url" content="${themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()}">
579 <#if tagsArray?has_content>
580 <meta property="article:tag" content="${tags?join(",")}" />
581 </#if>
582
583 <#if shareImgFileEntry??>
584 <meta property="og:image" itemprop="image" content="${themeDisplay.getURLPortal()}/o/adaptive-media/image/${shareImgFileEntry.getFileEntryId()}/thumbnail-600x0/${shareImgFileEntry.getFileName()}" />
585 </#if>
586 </@>
587 </div>
588
589
590 </section>
591 </div>
592
593 <div class="col-md-4">
594 <#if currentArticleRelatedLinks?has_content>
595 <aside id="relatedEvents">
596 <div class="container-fluid">
597 <div class="container">
598 <h2>Outros Eventos</h2>
599 <div class="row">
600 <#list currentArticleRelatedLinks as related>
601 <#assign assertRelated = assetEntryService.getEntry(related.getEntryId2()) />
602 <#assign assetRendererRelated = assertRelated.getAssetRenderer() />
603 <#assign articleRelated = assetRendererRelated.getArticle() />
604 <#assign documentRelated = saxReaderUtil.read(articleRelated.getContent()) />
605 <#assign rootElementRelated = documentRelated.getRootElement() />
606 <#assign assetRelatedUrlTitle = articleRelated.getUrlTitle(locale) />
607
608 <#assign imagensArrayRelated = []>
609 <#assign imagemURLRelated = "" />
610 <#assign tituloRelated = "" />
611 <#assign subtituloRelated = "" />
612
613 <#list rootElementRelated.elements() as el>
614 <#list el.elements() as il>
615 <#if "imagemEvento" == il.attributeValue("name") && il.element("dynamic-content").getData()?has_content>
616 <#assign imagemURLRelated = il.element("dynamic-content").getData()?eval />
617 <#assign imagensArrayRelated += [imagemURLRelated] />
618 </#if>
619
620 <#if "titulo" == il.attributeValue("name")>
621 <#assign tituloRelated = il.element("dynamic-content").getData() />
622 </#if>
623
624 <#if "subtitulo" == il.attributeValue("name")>
625 <#assign subtituloRelated = il.element("dynamic-content").getData() />
626
627 </#if>
628
629 </#list>
630 </#list>
631
632 <div class="col-md-12">
633 <div class="card"
634 style="background-color: white;">
635 <#if imagemURLRelated?has_content>
636 <@adaptive_media_image["img"] class="card-img-top" fileVersion=dlAppServiceUtil.getFileEntry(imagemURLRelated.fileEntryId?number).getFileVersion() alt="${imagemURLRelated.alt}"/>
637 </#if>
638 <div class="card-body" style="color: #3B3B3B">
639 <p class="card-text card-text-title laranja"> ${tituloRelated}</p>
640 <br/>
641 <p class="card-text card-text-subtitle"> ${subtituloRelated}</p>
642 <a href="/evento?titulo=${assetRelatedUrlTitle}"
643 class="stretched-link"></a>
644
645 <div class="a2a_kit a2a_kit_size_32 a2a_default_style"
646 data-a2a-icon-color = "transparent, black"
647 data-url="${currentUrl}/evento?titulo=${assetRelatedUrlTitle}">
648 <a class="a2a_button_facebook"></a>
649 <a class="a2a_button_twitter"></a>
650 <a class="a2a_button_whatsapp"></a>
651 <a class="a2a_button_facebook_messenger"></a>
652 <a class="a2a_button_email"></a>
653 <a class="a2a_button_copy_link"></a>
654 <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
655 </div>
656 </div>
657 </div>
658 </div>
659 </#list>
660 </div>
661 </div>
662 </div>
663 </aside>
664 </#if>
665 </div>
666 </div>
667 </div>
668
669</div>
- --- NACIONAIS ---
- Agência Nacional Erasmus+ Juventude/Desporto e Corpo Europeu de Solidariedade
- Autoridade para a Prevenção e Combate à Violência no Desporto
- Cartão Jovem
- Conselho Nacional da Juventude
- Confederação do Desporto de Portugal
- Comité Olímpico de Portugal
- Comité Paralímpico de Portugal
- Desporto Escolar
- ePortugal
- Federação Académica do Desporto Universitário
- Federação Nacional das Associações Juvenis
- --- INTERNACIONAIS ---
- BeActive
- Comissão Europeia
- Centro de Informação Europeia Jacques Delors
- Conselho da Europa
- CPLP Juventude e Desporto
- Corpo Europeu de Solidariedade
- Erasmus+
- Eryica
- Eurodesk
- Fórum Europeu da Juventude
- Organismo Internacional de Juventude para a Ibero-América
- Portal Europeu da Juventude
- Start to Talk
- TAFISA
DJ Bot (Em Treino)
x
SUBSCREVER NEWSLETTER
Newsletter subscrito com sucesso Não foi subscrever o Newsletter. Por favor tente mais tardeUtilizamos cookies no nosso site para lhe proporcionar a melhor experiência. Ao continuar a navegar, está a autorizar a nossa utilização destes cookies. No entanto, se pretender saber mais informações, nomeadamente como alterar as suas definições, consulte a nossa Politica.