Sesc-DF leva saúde, esporte, lazer e educação ao Brasília em Movimento
Sesc-DF leva saúde, esporte, lazer e educação ao Brasília em Movimento
Evento celebrou os 64 anos da capital federal no Parque da Cidade
Mais de 2500 pessoas comemoraram o aniversário de 64 anos da capital federal no 'Brasília em Movimento', no realizado no Parque da Cidade. O evento, promovido pela TV Bandeirantes e a Rádio Band News, contou com forte apoio do Serviços Social do Comércio do Distrito Federal (Sesc-DF), que ofereceu diversos serviços gratuitos à população.
Essa foi a 6ª edição do Brasília em Movimento, que contou com uma mega estrutura no estacionamento 11 do Parque da Cidade. O Sesc-DF ofereceu atendimentos nas áreas de saúde, educação, nutrição, esporte e lazer. As aulas de jumping e spinnig, por exemplo, agitaram o público que passou pelo evento.
O presidente do Sistema Fecomércio-DF, José Aparecido Freite, destacou o sucesso do Brasília em Movimento. "Muito feliz com a quantidade de pessoas. Isso mostra a importância desses eventos que comemoram essa data tão importante. Parabéns, Brasília, a cidade que nós escolhemos viver", finalizou.
Failed to transform element ---- FTL stack trace ("~" means nesting-related): - Failed at: #list entries?filter(notCurrentNewsFi... [in template "20099#20125#406321" at line 5, column 3] ----
1<#assign assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") />
2<#assign filteredNews = [] />
3
4<#if entries?has_content>
5 <#list entries?filter(notCurrentNewsFilter) as curEntry>
6 <#assign filteredNews = filteredNews + [curEntry] />
7 </#list>
8
9 <#if (filteredNews?size > 4)>
10 <#assign filteredNews = filteredNews[0..3] />
11 </#if>
12
13 <div class="d-flex align-items-center justify-content-between mb-4">
14 <h2 class="bold text-dark">
15 Outras notícias
16 </h2>
17 <a href="/notícias" class="btn btn-link">
18 Ver todas as notícias
19 </a>
20 </div>
21 <div class="row">
22 <#list filteredNews as curEntry>
23 <div class="col-md-6 ${(curEntry?index <= 1)?then('mb-4', '')}">
24 <@getNewsCard curEntry />
25 </div>
26 </#list>
27 </div>
28<#else>
29 <em>Não há conteúdos a exibir.</em>
30</#if>
31
32<#macro getNewsCard curEntry>
33 <#assign assetRenderer = curEntry.getAssetRenderer() />
34 <#assign viewFullContentUrl = renderResponse.createRenderURL() />
35 <#assign viewURL = assetRenderer.getURLViewInContext(renderRequest, renderResponse,
36 viewFullContentUrl?string) />
37 <#assign journalArticle = assetRenderer.getArticle() />
38 <#assign docXml = saxReaderUtil.read(journalArticle.getContent()) />
39
40 <#assign abstractXml = docXml.valueOf("//dynamic-element
41 [@name='CampoDeTexto08915738' ]
42 /dynamic-content
43 [@language-id='pt_BR' ]")
44 />
45
46 <#assign newsCategories = getNewsCategories(curEntry.getCategories()) />
47
48 <#if newsCategories?has_content>
49 <#assign newsCategory = newsCategories?first />
50 </#if>
51
52 <a
53 class="card card-link flex-fill m-0"
54 href="${viewURL}${newsCategory?has_content?then('/-/categories/
55 ${newsCategory.getCategoryId()}', '')}"
56 >
57 <div class="row no-gutters">
58 <div class="col-md-5 mb-3 mb-md-0">
59 <div class="aspect-ratio aspect-ratio-8-to-5 rounded-lg overflow-hidden h-100">
60 <@getNewsThumbnail docXml />
61 </div>
62 </div>
63 <div class="col-md-7 pl-md-3">
64 <div class="card-body p-0">
65 <#if newsCategories?has_content>
66 <@getNewsLabel newsCategory />
67 </#if>
68
69 <h4 class="bold text-primary mt-3 mb-2">${curEntry.getTitle(locale)}</h4>
70
71 <#if abstractXml?has_content>
72 <p class="card-text text-gray">
73 ${abstractXml?truncate(120, "...")}
74 </p>
75 </#if>
76 <span class="d-block card-text text-gray mt-3">
77 ${curEntry.getPublishDate()?date}
78 </span>
79 </div>
80 </div>
81 </div>
82 </a>
83</#macro>
84
85<#macro getNewsThumbnail docXml>
86 <#assign thumbnailXmlValue = docXml.valueOf("//dynamic-element
87 [@name='Imagem17904279' ]
88 /dynamic-content
89 [@language-id='pt_BR' ]")
90 />
91
92 <#if thumbnailXmlValue?has_content>
93 <#assign imageJson = jsonFactoryUtil.createJSONObject(thumbnailXmlValue) />
94 <#assign imageUrl = getArticleDLFileEntryUrl(imageJson.getString("fileEntryId")) />
95 <#assign fileEntryId = imageJson.getString("fileEntryId") />
96 <#assign imageAlt = imageJson.getString("alt")?has_content?then(imageJson.getString("alt"), "Imagem da notícia") />
97 </#if>
98
99 <#if imageUrl?has_content>
100 <img
101 class="aspect-ratio-item aspect-ratio-item-flush card-img"
102 data-fileentryid="${fileEntryId}"
103 src="${imageUrl}"
104 alt="${imageAlt}"
105 />
106 <#else>
107 <div class="card-img-mask"></div>
108 <span class="sr-only">Notícia sem imagem</span>
109 </#if>
110</#macro>
111
112<#macro getNewsLabel category>
113 <#assign newsCategoryId = category.getCategoryId() />
114 <#assign newsCategoryColorProperty = getCategoryProperty(newsCategoryId, "color") />
115 <#assign newsCategoryColor = "#" + newsCategoryColorProperty?has_content?
116 then(newsCategoryColorProperty.getValue(), "208bdc") />
117
118 <span class="label py-2" style="color: ${newsCategoryColor};">
119 <span class="label-item label-item-expand">
120 ${category.getName()}
121 </span>
122 </span>
123</#macro>
124
125<#function getNewsCategories categories>
126 <#local occupationCategories = [] />
127 <#local organizationCategories = [] />
128 <#local newsCategories = [] />
129 <#local categoryList = [] />
130
131 <#if categories?has_content>
132 <#list categories as category>
133 <#assign vocabulary = assetVocabularyLocalService.getVocabulary(category.vocabularyId) />
134
135 <#if (vocabulary.getName()?lower_case == "atuação")>
136 <#local occupationCategories = occupationCategories + [category] />
137 <#elseif (vocabulary.getName()?lower_case == "unidades")>
138 <#local organizationCategories = organizationCategories + [category] />
139 <#elseif (vocabulary.getName()?lower_case == "noticias")>
140 <#local newsCategories = newsCategories + [category] />
141 </#if>
142 </#list>
143 </#if>
144
145 <#if occupationCategories?has_content>
146 <#assign occupationCategory = occupationCategories?first />
147 <#local categoryList = categoryList + [occupationCategory] />
148 </#if>
149
150 <#if organizationCategories?has_content>
151 <#assign organizationCategory = organizationCategories?first />
152 <#local categoryList = categoryList + [organizationCategory] />
153 </#if>
154
155 <#if !categoryList?has_content && newsCategories?has_content>
156 <#assign newsCategory = newsCategories?first />
157 <#local categoryList = categoryList + [newsCategory] />
158 </#if>
159
160 <#return categoryList>
161</#function>
162
163<#function getCategoryProperty categoryId key>
164 <#local assetCategoryPropertyLocalService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
165 <#local assetCategoryProperties = assetCategoryPropertyLocalService.getCategoryProperties(categoryId)
166 />
167 <#local assetCategoryProperty = "" />
168
169 <#if assetCategoryProperties?has_content>
170 <#list assetCategoryProperties as curAssetCategoryProperty>
171 <#if curAssetCategoryProperty.getKey()?lower_case == key?lower_case>
172 <#local assetCategoryProperty = curAssetCategoryProperty>
173 </#if>
174 </#list>
175 </#if>
176
177 <#return assetCategoryProperty>
178</#function>
179
180<#function getArticleDLFileEntryUrl fileEntryId>
181 <#local docUrl="" />
182
183 <#if fileEntryId?has_content>
184 <#local assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
185 <#local assetEntry = assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", getterUtil.getLong(fileEntryId)) />
186 <#local assetRenderer = assetEntry.assetRenderer />
187 <#local docUrl = assetRenderer.getURLDownload(themeDisplay)?remove_ending('&download=true') />
188 </#if>
189
190 <#return docUrl />
191</#function>
192
193<#-- FUNÇÃO: FILTRAR NOTÍCIA -->
194<#function notCurrentNewsFilter(curEntry)>
195 <#local assetRenderer = curEntry.getAssetRenderer() />
196 <#local currentUrl = themeDisplay.getURLCurrent() />
197 <#local newsUrlTitle = assetRenderer.getUrlTitle() />
198 <#return !currentUrl?contains(newsUrlTitle)>
199</#function>
online