BNB já financiou R$ 35 milhões em geração solar residencial no Maranhão em 2024
Um erro ocorreu enquanto processava o modelo.
Java method "com.sun.proxy.$Proxy809.getArticle(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy809 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@5298619a"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign journalarticle = JournalArtic... [in template "20101#20128#" at line 5, column 1] ----
1<#assign journalArticleId = .vars['reserved-article-id'].data>
2<#assign journalArticleTitle = .vars['reserved-article-title'].data>
3
4<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
5<#assign journalarticle = JournalArticleLocalService.getArticle(groupId, journalArticleId)>
6<#assign primaryKey = journalarticle.getResourcePrimKey()>
7
8<#assign categoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
9
10<#assign categoryList=categoryService.getCategories("com.liferay.journal.model.JournalArticle", primaryKey) >
11
12<#assign dateFormat= "dd/MM/yyyy"/>
13
14<#include "_TEMPLATE_CONTEXT_/20101/20124/20015/47059" />
15
16<#assign estrutura = journalarticle.getDDMStructure()>
17
18<!--Servicos dos artigos relacionados-->
19
20<#assign OrderByComparatorFactoryUtil = staticUtil["com.liferay.portal.kernel.util.OrderByComparatorFactoryUtil"]>
21<#assign orderby = OrderByComparatorFactoryUtil.create("JournalArticle", "publishDate", "desc")>
22<#assign articlesByStructureId = JournalArticleLocalService.getArticlesByStructureId(groupId, estrutura.getStructureKey()?string, 0, 50, orderBy) />
23
24<div class="row">
25 <div class="col-sm-12 col-lg-8 mt-4 ">
26 <div class="h4">${journalArticleTitle}</div>
27 <#if tipoExibicao.getData() == "imagem" && img.getData()?? && img.getData() != "">
28 <img alt="${img.getAttribute('alt')}" data-fileentryid="${img.getAttribute('fileEntryId')}" src="${img.getData()}" class="w-100" />
29 <#assign posicao = "position:relative;bottom:20px"/>
30 <#elseif tipoExibicao.getData() == "video" && idVideo?has_content>
31 <iframe id="ytplayer" type="text/html" width="720" height="500" class="w-100"
32 src="https://www.youtube.com/embed/${idVideo.getData()}"
33 frameborder="0" allowfullscreen>
34 </iframe>
35 <#assign posicao = "position:relative;bottom:8px"/>
36 <#else>
37 <#assign posicao = "margin-bottom:8px"/>
38 </#if>
39
40 <div class="d-flex justify-content-between flex-column flex-sm-row">
41 <#list categoryList as cat>
42 <#if cat.getVocabularyId() == vocCategorias>
43 <#assign cat = cat/>
44 <span class="bg-primary text-white px-2 py-1 border-radius-bnb mr-auto" style="${posicao}">${cat.getName()}</span>
45 </#if>
46 </#list>
47
48 <#-- Retrieve the published date meta data field of the web content -->
49 <#assign articleDisplayDate = .vars['reserved-article-display-date'].data />
50 <#setting locale = localeUtil.getDefault()>
51 <#assign displaydate = articleDisplayDate?datetime("EEE, d MMM yyyy HH:mm:ss zzzzz")>
52
53 <span class="font-weight-bold">${Local.getData()}, ${displaydate?string(dateFormat)}</span>
54 </div>
55 <div class="mt-3">
56 ${conteudo.getData()}
57 </div>
58 <div class="mt-2">
59 <#assign rawTags = .vars['reserved-article-asset-tag-names'].data/>
60 <#if rawTags?has_content>
61 <div class="font-weight-bold">TAGS</div>
62 <#list rawTags?split(",") as tag>
63 <span class="label label-secondary">
64 <span class="label-item label-item-expand">${tag}</span>
65 </span>
66 </#list>
67 </#if>
68 </div>
69 </div>
70 <div class="col-sm-12 col-lg-4 mt-4 ">
71 <div class="h5 font-weight-bold mb-4">Notícias Relacionadas</div>
72 <#assign cont = 0/>
73 <#list articlesByStructureId as article>
74 <#assign categorySessao=categoryService.getCategories("com.liferay.journal.model.JournalArticle", article.getResourcePrimKey()) />
75 <#list categorySessao as catArticle>
76 <#if catArticle == cat && article.getArticleId() != journalArticleId && cont <= 5>
77 <#assign cont = cont + 1/>
78 <#assign curArticleTitle = article.getTitle()>
79 <#if cont == 6>
80 <#assign barra = ""/>
81 <#else>
82 <#assign barra = "margin-bottom: 20px;padding-bottom: 20px;border-bottom: 1px solid #ccc;"/>
83 </#if>
84 <a title="${curArticleTitle}" href="${themeDisplay.getScopeGroup().getDisplayURL(themeDisplay)}${themeDisplay.getLayoutFriendlyURL(themeDisplay.getLayout())}/-/asset_publisher/${noticiasAssetPublisher}/content/${article.getUrlTitle()}/${groupId}"><div class="h6 text-text-gray text-none" style="${barra}">${curArticleTitle}</div></a>
85 </#if>
86 </#list>
87 </#list>
88 </div>
89</div>
90
91<script>
92
93 var tituloAsset = document.querySelector("#portlet_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_${noticiasAssetPublisher}");
94// tituloAsset.classList.add("pt-7");
95 tituloAsset.querySelector(".asset-title").replaceWith("Voltar");
96 tituloAsset.querySelector("a").ariaLabel = "Voltar"
97 /*
98 var links = document.querySelector(".list-unstyled");
99 if(document.querySelector(".list-unstyled").querySelectorAll("li a")){
100 var lista = document.querySelector(".list-unstyled").querySelectorAll("li a");
101 lista.forEach(element =>{ element.style.display = "block"; element.classList.remove("btn");element.classList.remove("btn-outline-secondary")});
102 var newItem = document.createElement("div");
103 var textnode = document.createTextNode("COMPARTILHE:");
104 newItem.classList.add("font-weight-bold");
105 newItem.classList.add("mr-1");
106 newItem.appendChild(textnode);
107 document.querySelector(".list-unstyled").insertBefore(newItem, links.childNodes[0])
108 }
109 */
110</script>