Início
Um erro ocorreu enquanto processava o modelo.
Java method "com.liferay.journal.model.impl.JournalArticleImpl.getContent()" threw an exception when invoked on com.liferay.journal.model.impl.JournalArticleImpl object "{\"mvccVersion\": 1, \"ctCollectionId\": 0, \"uuid\": \"44c0caa6-781b-b3df-61bc-e21a511ada36\", \"id\": 4288911, \"resourcePrimKey\": 4288840, \"groupId\": 37101, \"companyId\": 35901, \"userId\": 3212488, \"userName\": \"Camila Rodrigues\", \"createDate\": \"2025-02-25 18:39:12.997\", \"modifiedDate\": \"2025-02-25 18:44:18.346\", \"externalReferenceCode\": \"4288838\", \"folderId\": 0, \"classNameId\": 0, \"classPK\": 0, \"treePath\": \"/\", \"articleId\": \"4288838\", \"version\": 1.1, \"urlTitle\": \"policl%C3%ADnica-do-gama-funciona-em-novo-endere%C3%A7o-veja-servi%C3%A7os-oferecidos\", \"DDMStructureKey\": \"40219\", \"DDMTemplateKey\": \"40230\", \"defaultLanguageId\": \"pt_BR\", \"layoutUuid\": \"\", \"displayDate\": \"2025-02-25 18:23:00.0\", \"expirationDate\": null, \"reviewDate\": null, \"indexable\": true, \"smallImage\": false, \"smallImageId\": 0, \"smallImageURL\": \"\", \"lastPublishDate\": null, \"status\": 0, \"statusByUserId\": 3212488, \"statusByUserName\": \"Camila Rodrigues\", \"statusDate\": \"2025-02-25 18:44:18.346\"}"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign docXml = saxReaderUtil.read(a... [in template "35901#37103#40215" at line 15, column 9] ----
1<#-- Modelo de Modelo de Publicador de Conteúdos e Mídias -->
2
3<#assign JSONFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"] />
4
5<#if entries?has_content>
6 <div
7 id="carousel_${portletDisplay.getInstanceId()}"
8 class="carousel slide mb-md-0 mb-4"
9 data-ride="carousel"
10 >
11 <div class="carousel-inner">
12 <#list entries as curEntry>
13 <#assign assetRenderer = curEntry.getAssetRenderer() />
14 <#assign journalArticle = assetRenderer.getAssetObject() />
15 <#assign docXml = saxReaderUtil.read(assetRenderer.getArticle().getContent()) />
16
17 <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, entry, !stringUtil.equals(assetLinkBehavior, "showFullContent"))?keep_before("?redirect=") />
18 <#assign tag = docXml.valueOf("//dynamic-element[@name='CampoDeTexto83126088']/dynamic-content[@language-id='${locale}']/text()") />
19 <#assign tag_bg = docXml.valueOf("//dynamic-element[@name='Cor89514449']/dynamic-content[@language-id='${locale}']/text()") />
20 <#assign chamada = docXml.valueOf("//dynamic-element[@name='CampoDeTexto66815902']/dynamic-content[@language-id='${locale}']/text()") />
21 <#assign imagem_destaque = docXml.valueOf("//dynamic-element[@name='Imagem11933159']/dynamic-content[@language-id='${locale}']/text()") />
22 <#assign imagem_carousel = docXml.valueOf("//dynamic-element[@name='Imagem02700314']/dynamic-content[@language-id='${locale}']/text()") />
23 <#assign imagem_resultante = imagem_destaque?has_content?then(imagem_destaque, imagem_carousel) />
24 <#assign capa_url = "" />
25
26 <#if journalArticle.isSmallImage()>
27 <#if journalArticle.getSmallImageURL()?has_content>
28 <#assign capa_url = journalArticle.getSmallImageURL() />
29 <#else>
30 <#assign capa_url = "/image/journal/article?img_id=" + journalArticle.getSmallImageId() />
31 </#if>
32 <#else>
33 <#if imagem_resultante?has_content>
34 <#assign imgJson = JSONFactoryUtil.createJSONObject(imagem_resultante) />
35
36 <#if !imgJson.url??>
37 <#assign dlUtil = objectUtil("com.liferay.document.library.kernel.util.DLUtil") />
38 <#assign DLFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
39 <#if imgJson.fileEntryId??>
40 <#assign fileEntry = DLFileEntryLocalService.getFileEntry(imgJson.fileEntryId?number) />
41 <#assign url = "/documents/" + fileEntry.getGroupId() + "/" + fileEntry.getFolderId() + "/" + fileEntry.getFileName() + "/" + fileEntry.getUuid() + "?download=true" />
42 <#assign imgJson = {"url": url} />
43 </#if>
44 </#if>
45 <#if imgJson.url??>
46 <#assign capa_url = imgJson.url />
47 </#if>
48 </#if>
49 </#if>
50
51 <#if chamada != "">
52 <a
53 class="carousel-item ${curEntry?is_first?then('active','')}"
54 href="${viewURL}"
55 >
56 <div class="aspect-ratio aspect-ratio-16-to-9">
57 <img
58 class="aspect-ratio-item-fluid w-100 h-100"
59 src="${capa_url}"
60 alt="Capa da notícia: ${curEntry.getTitle(locale)}"
61 />
62 </div>
63
64 <div class="carousel-caption">
65 <#if tag?has_content>
66 <span
67 class="badge badge-secondary"
68 style="background-color: #${tag_bg}"
69 >
70 <span class="badge-item badge-item-expand">${tag}</span>
71 </span>
72 </#if>
73
74 <h3>${curEntry.getTitle(locale)}</h3>
75 <p>${chamada}</p>
76 </div>
77 </a>
78 <#else>
79 <div class="carousel-item ${curEntry?is_first?then('active','')}">
80 <div class="aspect-ratio aspect-ratio-16-to-9">
81 <img
82 class="aspect-ratio-item-fluid w-100 h-100"
83 src="${capa_url}"
84 alt="Capa da notícia: ${curEntry.getTitle(locale)}"
85 />
86 </div>
87 </div>
88 </#if>
89 </#list>
90 </div>
91
92 <a
93 class="carousel-control-prev"
94 onclick="handleControlClick(event)"
95 role="button"
96 data-slide="prev"
97 >
98 <span class="carousel-control-prev-icon" aria-hidden="true"></span>
99 <span class="sr-only">Anterior</span>
100 </a>
101 <a
102 class="carousel-control-next"
103 onclick="handleControlClick(event)"
104 role="button"
105 data-slide="next"
106 >
107 <span class="carousel-control-next-icon" aria-hidden="true"></span>
108 <span class="sr-only">Próximo</span>
109 </a>
110 </div>
111<#else>
112 <p><em>Ainda não há conteúdo a ser exibido.</em></p>
113</#if>
114<script>
115function handleControlClick(e){
116 const clicked = ($(e.target).hasClass("carousel-control-prev") || $(e.target).hasClass("carousel-control-next"))
117 ? e.target
118 : $(e.target).parents(".carousel-control-next,.carousel-control-prev");
119 const carousel = $(clicked).parents(".carousel");
120 const action = $(clicked).data("slide");
121 $(carousel).carousel(action)
122};
123</script>
Portlet está temporariamente indisponível.
Um erro ocorreu enquanto processava o modelo.
Java method "com.liferay.journal.model.impl.JournalArticleImpl.getContent()" threw an exception when invoked on com.liferay.journal.model.impl.JournalArticleImpl object "{\"mvccVersion\": 1, \"ctCollectionId\": 0, \"uuid\": \"fef38210-6cd6-8acd-0c9d-0d5942f23f36\", \"id\": 3560783, \"resourcePrimKey\": 598014, \"groupId\": 37101, \"companyId\": 35901, \"userId\": 37107, \"userName\": \"Test Test\", \"createDate\": \"Mon Apr 04 00:08:49 BRT 2022\", \"modifiedDate\": \"Mon Feb 26 13:41:00 BRT 2024\", \"externalReferenceCode\": \"598012\", \"folderId\": 597904, \"classNameId\": 0, \"classPK\": 0, \"treePath\": \"/184017/597904/\", \"articleId\": \"598012\", \"version\": 3.9, \"urlTitle\": \"vacinometro-1\", \"DDMStructureKey\": \"597895\", \"DDMTemplateKey\": \"\", \"defaultLanguageId\": \"pt_BR\", \"layoutUuid\": \"\", \"displayDate\": \"Mon Apr 04 00:08:00 BRT 2022\", \"expirationDate\": null, \"reviewDate\": null, \"indexable\": true, \"smallImage\": false, \"smallImageId\": 0, \"smallImageURL\": \"\", \"lastPublishDate\": null, \"status\": 0, \"statusByUserId\": 988787, \"statusByUserName\": \"Rildo Galeno\", \"statusDate\": \"Mon Feb 26 13:41:00 BRT 2024\"}"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign docXml = saxReaderUtil.read(j... [in template "35901#37103#41403" at line 36, column 17] ----
1<#--
2 Modelo de Modelo de Publicador de Conteúdos e Mídias
3-->
4
5<#assign JSONFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"] />
6<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
7<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
8
9<#function isLastVersion e>
10 <#return JournalArticleLocalService.getLatestArticle(e.resourcePrimKey).getVersion() == e.getVersion() && !e.isInTrash() />
11</#function>
12
13<#function pageMap e>
14 <#return AssetEntryLocalService.getEntry(e.getModelClassName(), e.resourcePrimKey)>
15</#function>
16
17<#assign paginas = JournalArticleLocalService.getStructureArticles(themeDisplay.getScopeGroupId(), "597895") />
18<#assign paginas = paginas?filter(e -> isLastVersion(e)) />
19<#assign paginas = paginas?map(e -> pageMap(e)) />
20<#assign entries = paginas + entries />
21
22<#if entries?has_content>
23 <div
24 id="carousel_${portletDisplay.getInstanceId()}"
25 class="carousel slide"
26 data-ride="carousel"
27 data-interval="false"
28 >
29 <div class="carousel-inner pb-4">
30 <#list entries?chunk(3) as carousel_item>
31 <div class="carousel-item ${carousel_item?is_first?then('active','')}">
32 <div class="row">
33 <#list carousel_item as curEntry>
34 <div class="col-md-4 mb-md-0 mb-4">
35 <#assign journalArticle = JournalArticleLocalService.getLatestArticle(curEntry.classPK) />
36 <#assign docXml = saxReaderUtil.read(journalArticle.getContent()) />
37 <#assign capa_url = "" />
38
39 <#if journalArticle.getStructureId() == "597895">
40 <#assign viewURL = docXml.valueOf("//dynamic-element[@name='CampoDeTexto30577646']/dynamic-content[@language-id='${locale}']/text()") />
41 <#assign chamada = curEntry.getDescription(locale) />
42 <#assign imagem_estrutura_url = docXml.valueOf("//dynamic-element[@name='Imagem68130484']/dynamic-content[@language-id='${locale}']/text()") />
43 <#else>
44 <#assign assetRenderer = curEntry.getAssetRenderer() />
45 <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, curEntry, !stringUtil.equals(assetLinkBehavior, "showFullContent"))?keep_before("?redirect=") />
46 <#assign chamada = docXml.valueOf("//dynamic-element[@name='CampoDeTexto66815902']/dynamic-content[@language-id='${locale}']/text()") />
47 <#assign imagem_estrutura_url = docXml.valueOf("//dynamic-element[@name='Imagem11933159']/dynamic-content[@language-id='${locale}']/text()") />
48 </#if>
49
50 <#if journalArticle.isSmallImage()>
51 <#if journalArticle.getSmallImageURL()?has_content>
52 <#assign capa_url = journalArticle.getSmallImageURL() />
53 <#else>
54 <#assign capa_url = "/image/journal/article?img_id=" + journalArticle.getSmallImageId() />
55 </#if>
56 <#else>
57 <#if imagem_estrutura_url?has_content>
58 <#assign imgJson = JSONFactoryUtil.createJSONObject(imagem_estrutura_url) />
59
60 <#if !imgJson.url??>
61 <#assign dlUtil = objectUtil("com.liferay.document.library.kernel.util.DLUtil") />
62 <#assign DLFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") />
63
64 <#if imgJson.fileEntryId??>
65 <#assign fileEntry = DLFileEntryLocalService.getFileEntry(imgJson.fileEntryId?number) />
66 <#assign url = "/documents/" + fileEntry.getGroupId() + "/" + fileEntry.getFolderId() + "/" + fileEntry.getFileName() + "/" + fileEntry.getUuid() + "?download=true" />
67 <#assign imgJson = {"url": url} />
68 </#if>
69 </#if>
70
71 <#if imgJson.url??>
72 <#assign capa_url = imgJson.url />
73 </#if>
74 </#if>
75 </#if>
76
77 <a
78 class="card card-rounded h-100"
79 href="${viewURL}"
80 >
81 <div class="aspect-ratio card-item-first aspect-ratio-16-to-9">
82 <img
83 alt="thumbnail"
84 class="aspect-ratio-item aspect-ratio-item-fluid h-100 w-100"
85 src="${capa_url}"
86 />
87 </div>
88 <div class="card-body">
89 <#if curEntry.getTagNames()?has_content>
90 <span class="news-badge badge badge-success">${curEntry.getTagNames()[0]?upper_case}</span>
91 </#if>
92
93 <h4>${curEntry.getTitle(locale)}</h4>
94
95 <#if curEntry.getDescription(locale)?has_content && curEntry.getDescription(locale) != "">
96 ${curEntry.getDescription(locale)}
97 <#else>
98 <#if chamada != "">
99 <p class="card-text">${chamada}</p>
100 <#else>
101 <#assign docXml = saxReaderUtil.read(journalArticle.getContent()) />
102 <#assign xmlValue = docXml.valueOf("//dynamic-element[@type='rich_text']/dynamic-content[@language-id='${locale}']/text()") />
103 <#assign descriptionFiltered = xmlValue?replace('<[^>]+>','','r') />
104 ${descriptionFiltered?truncate(113)}
105 </#if>
106 </#if>
107 </div>
108 </a>
109 </div>
110 </#list>
111 </div>
112 </div>
113 </#list>
114 </div>
115
116 <div class="controls">
117 <a
118 class="carousel-control-prev"
119 onclick="handleControlClick(event)"
120 role="button"
121 data-slide="prev"
122 >
123 <
124 <span class="sr-only">Anterior</span>
125 </a>
126
127 <ol class="carousel-indicators">
128 <#list entries?chunk(3) as carousel_item>
129 <li
130 data-target="#carousel_${portletDisplay.getInstanceId()}"
131 data-slide-to="${carousel_item?index}"
132 class="${carousel_item?is_first?then('active','')}"
133 ></li>
134 </#list>
135 </ol>
136
137 <a
138 class="carousel-control-next"
139 onclick="handleControlClick(event)"
140 role="button"
141 data-slide="next"
142 >
143 >
144 <span class="sr-only">Próximo</span>
145 </a>
146 </div>
147 </div>
148
149 <a
150 class="btn btn-see-more"
151 href="/noticias"
152 target="_blank"
153 >
154 <span class="inline-item inline-item-before">
155 <i class="las la-plus-circle"></i>
156 </span>
157 Veja todos as notícias
158 </a>
159<#else>
160 <p><em>Ainda não há arquivos a ser exibido.</em></p>
161</#if>
162
163<style>
164.card-body{
165 position: relative;
166}
167.news-badge{
168 position: absolute;
169 top: 0;
170 transform: translateY(-50%);
171}
172</style>
173
174<script>
175function handleControlClick(e){
176 const clicked = ($(e.target).hasClass("carousel-control-prev") || $(e.target).hasClass("carousel-control-next"))
177 ? e.target
178 : $(e.target).parents(".carousel-control-next,.carousel-control-prev");
179 const carousel = $(clicked).parents(".carousel");
180 const action = $(clicked).data("slide");
181 $(carousel).carousel(action)
182};
183</script>
Portlet está temporariamente indisponível.
Portlet está temporariamente indisponível.
Portlet está temporariamente indisponível.
Portlet está temporariamente indisponível.
CARREGANDO INFORMAÇÕES DO SLIDE...
Portlet está temporariamente indisponível.
Portlet está temporariamente indisponível.
Portlet está temporariamente indisponível.
Portlet está temporariamente indisponível.
Ou selecione uma data
Fevereiro
2025
Do | Se | Te | Qu | Qu | Se | Sa |
---|