Title
Title
Página inicial
Agência Petrobras
Faça uma busca:
Buscar
Mais pesquisados
Preço dos combustíveis
Pré-Sal
Time Petrobras
Title
X
O uso deste material é autorizado apenas para fins editoriais.
Ok Cancel
X
ddmTemplate_7784676 não é um tipo visível.
Navegue por editoria
Inovação
Institucional
Negócio
Sustentabilidade
Publicador de Conteúdos e Mídias está temporariamente indisponível.
Navegue por conteúdo multimídia
Aprovados
Cadastro de Reserva
Documento
Foto
Mapa e Ilustração
Piauí
Vídeo
Áudio
Publicador de Conteúdos e Mídias está temporariamente indisponível.
Nome da rede social
Nome da rede social
Nome da rede social
Nome da rede social
Nome da rede social
Nome da rede social
Utilize nossa busca para encontrar o que procura
Faça uma busca:
Buscar
Mais pesquisados
Preço dos combustíveis
Pré-Sal
Time Petrobras
Um erro ocorreu enquanto processava o modelo.
Java method "com.liferay.journal.model.impl.JournalArticleImpl.getDocument()" threw an exception when invoked on com.liferay.journal.model.impl.JournalArticleImpl object "{\"mvccVersion\": 1, \"ctCollectionId\": 0, \"uuid\": \"e676f63b-3777-4c00-5a1d-7f604a04072c\", \"id\": 12613261, \"resourcePrimKey\": 10628951, \"groupId\": 10623376, \"companyId\": 20099, \"userId\": 873837, \"userName\": \"Gefersom Lima\", \"createDate\": \"Tue Oct 31 18:45:56 GMT 2023\", \"modifiedDate\": \"Fri Jan 26 22:15:39 GMT 2024\", \"externalReferenceCode\": \"7748054\", \"folderId\": 10628763, \"classNameId\": 0, \"classPK\": 0, \"treePath\": \"/10628763/\", \"articleId\": \"7748054\", \"version\": 1.3, \"urlTitle\": \"configuracao-de-rodape\", \"DDMStructureId\": 10628806, \"DDMTemplateKey\": \"\", \"defaultLanguageId\": \"pt_BR\", \"layoutUuid\": \"\", \"displayDate\": \"Tue Oct 31 18:43:00 GMT 2023\", \"expirationDate\": null, \"reviewDate\": null, \"indexable\": false, \"smallImage\": false, \"smallImageId\": 0, \"smallImageSource\": 1, \"smallImageURL\": \"\", \"lastPublishDate\": null, \"status\": 0, \"statusByUserId\": 873856, \"statusByUserName\": \"Wagner de Melo Reck\", \"statusDate\": \"Fri Jan 26 22:15:39 GMT 2024\"}"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign xmlArticle = article.getDocum... [in template "20099#20135#2683802" in function "extractFooterInfo" at line 30, column 3] - Reached through: @renderSacInfoDates entry, journalArt... [in template "20099#20135#2683802" at line 83, column 5] ----
1<#--
2Widget templates can be used to modify the look of a
3specific application.
4
5Please use the right panel to quickly add commonly used variables.
6Autocomplete is also available and can be invoked by typing "${".
7-->
8
9<#include "${templatesPath}/1975398" />
10
11<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
12<#assign fileEntryService = staticUtil["com.liferay.document.library.kernel.service.DLFileEntryLocalServiceUtil"] />
13
14<#function extractFooterInfo curEntry journalArticleService fileEntryService >
15 <#if !curEntry?? >
16 <#return {}>
17 </#if>
18
19 <#assign article = journalArticleService.getLatestArticle(curEntry.getClassPK()) />
20 <#if !article??>
21 <#return {}>
22 </#if>
23
24 <#assign ddmStructure = article.getDDMStructure()>
25 <#if !ddmStructure??>
26 <#return {}>
27 </#if>
28
29 <#assign fieldList = getFieldListByStructure(ddmStructure) />
30 <#assign xmlArticle = article.getDocument().getRootElement() />
31
32
33 <#assign iconInformation = getMediaInfo(fieldList, xmlArticle, "Acesso à Informação - Imagem", fileEntryService) />
34 <#assign iconSac = getMediaInfo(fieldList, xmlArticle, "SAC Imagem", fileEntryService) />
35 <#assign sacLabel = getFieldValue(fieldList, xmlArticle, "SAC - Rótulo") />
36 <#assign sacNumber = getFieldValue(fieldList, xmlArticle, "SAC - Número") />
37 <#assign informationLabel = getFieldValue(fieldList, xmlArticle, "Acesso à Informação") />
38 <#assign transparencyLabel = getFieldValue(fieldList, xmlArticle, "Portal da Transparencia - Rótulo") />
39 <#assign transparencyLink = getFieldValue(fieldList, xmlArticle, "Portal da Transparencia - Link") />
40
41
42 <#return {
43 "iconInformation": iconInformation,
44 "iconSac" : iconSac,
45 "sacLabel" : sacLabel,
46 "sacNumber" : sacNumber,
47 "informationLabel": informationLabel,
48 "transparencyLabel": transparencyLabel,
49 "transparencyLink": transparencyLink
50 }>
51
52</#function>
53
54
55<#macro renderSacInfoDates entry journalArticleService fileEntryService >
56 <#assign info = extractFooterInfo(entry journalArticleService fileEntryService) />
57 <div class="footer-informations">
58 <div class="sac-information icons-container">
59
60 <img alt="${info.iconSac.alt}" src="${info.iconSac.url}"/>
61 <div class="icons-texts">
62 <p class="button-xs-regular" >${info.sacLabel}</p>
63 <p class="button-xs-bold">${info.sacNumber}</p>
64 </div>
65 </div>
66
67 <div class="logo-informations icons-container">
68 <img alt="${info.iconInformation.alt}" src="${info.iconInformation.url}"/>
69 <div class="icons-texts">
70 <p class="button-xs-regular">
71 ${info.informationLabel}
72 </p>
73 <a class="button-xs-bold" open="_blank"
74 href='${info.transparencyLink}'>
75 ${info.transparencyLabel}
76 </a>
77 </div>
78 </div>
79 </div>
80</#macro>
81
82<#if entry?has_content>
83 <@renderSacInfoDates entry journalArticleService fileEntryService />
84</#if>
85
86
87<style>
88
89 .footer-informations {
90 display: flex;
91 justify-content: center;
92 align-items: center;
93 }
94
95 .footer-informations .icons-container img {
96 width: 29px;
97 height: 29px;
98 margin: 5px 8px 0 0;
99 }
100
101 .footer-informations .icons-container {
102 color: var(--color-text-primary-default);
103 display: flex;
104 }
105
106 .footer-informations .logo-informations {
107 padding-left: calc(var(--space-lg)/2);
108 display: flex;
109 }
110
111 .footer-informations .icons-container .icons-texts * {
112 color: var(--color-text-primary-default);
113 }
114
115 .footer-informations .sac-information .icons-texts {
116 border-right: 1px solid var(--border-color-light);
117 }
118
119
120 .footer-informations .icons-container .icons-texts {
121 padding-right: calc(var(--space-lg)/2);
122 display: flex;
123 flex-direction: column;
124
125 }
126
127 @media screen and (max-width: 767px) {
128
129 .footer-informations {
130 flex-direction: column;
131 }
132
133 .footer-informations .icons-container {
134 margin-bottom: 16px !important;
135 }
136
137 .footer-informations .sac-information .icons-texts {
138 border-right: none;
139 }
140
141 .footer-informations .logo-informations {
142 margin-bottom: 16px;
143 padding: 0;
144 }
145
146 }
147
148</style>
- Assessoria de Imprensa
- Categorias
- Acesse também
Um erro ocorreu enquanto processava o modelo.
Java method "com.liferay.journal.model.impl.JournalArticleImpl.getDocument()" threw an exception when invoked on com.liferay.journal.model.impl.JournalArticleImpl object "{\"mvccVersion\": 1, \"ctCollectionId\": 0, \"uuid\": \"e676f63b-3777-4c00-5a1d-7f604a04072c\", \"id\": 12613261, \"resourcePrimKey\": 10628951, \"groupId\": 10623376, \"companyId\": 20099, \"userId\": 873837, \"userName\": \"Gefersom Lima\", \"createDate\": \"Tue Oct 31 18:45:56 GMT 2023\", \"modifiedDate\": \"Fri Jan 26 22:15:39 GMT 2024\", \"externalReferenceCode\": \"7748054\", \"folderId\": 10628763, \"classNameId\": 0, \"classPK\": 0, \"treePath\": \"/10628763/\", \"articleId\": \"7748054\", \"version\": 1.3, \"urlTitle\": \"configuracao-de-rodape\", \"DDMStructureId\": 10628806, \"DDMTemplateKey\": \"\", \"defaultLanguageId\": \"pt_BR\", \"layoutUuid\": \"\", \"displayDate\": \"Tue Oct 31 18:43:00 GMT 2023\", \"expirationDate\": null, \"reviewDate\": null, \"indexable\": false, \"smallImage\": false, \"smallImageId\": 0, \"smallImageSource\": 1, \"smallImageURL\": \"\", \"lastPublishDate\": null, \"status\": 0, \"statusByUserId\": 873856, \"statusByUserName\": \"Wagner de Melo Reck\", \"statusDate\": \"Fri Jan 26 22:15:39 GMT 2024\"}"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign xmlArticle = article.getDocum... [in template "20099#20135#2683780" in function "extractFooterInfo" at line 31, column 3] - Reached through: @renderConfigFooterDates entry, journ... [in template "20099#20135#2683780" at line 82, column 5] ----
1<#--
2Widget templates can be used to modify the look of a
3specific application.
4
5Please use the right panel to quickly add commonly used variables.
6Autocomplete is also available and can be invoked by typing "${".
7-->
8
9<#include "${templatesPath}/1975398" />
10
11<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
12
13<#function extractFooterInfo curEntry journalArticleService >
14 <#if !curEntry?? >
15 <#return {} />
16 </#if>
17
18 <#assign article = journalArticleService.getLatestArticle(curEntry.getClassPK()) />
19 <#if !article??>
20 <#return {} />
21 </#if>
22
23 <#assign ddmStructure = article.getDDMStructure() />
24 <#if !ddmStructure??>
25 <#return {} />
26 </#if>
27
28 <#assign productCategories = [] />
29
30 <#assign fieldList = getFieldListByStructure(ddmStructure) />
31 <#assign xmlArticle = article.getDocument().getRootElement() />
32
33
34 <#assign cookiesLabel = getFieldValue(fieldList, xmlArticle, "Definições de Cookies - Rótulo") />
35 <#assign copyrightMessage = getFieldValue(fieldList, xmlArticle, "Mensagem de Copyright") />
36
37 <#assign linkItemGroupXMLList = getNodesByLabel(fieldList, xmlArticle, "Links do rodapé")>
38 <#assign linksAndLabels = []>
39 <#list linkItemGroupXMLList as linkItemGroupXML>
40 <#assign obj = {
41 "link": getFieldValue(fieldList, linkItemGroupXML, "Link"),
42 "label": getFieldValue(fieldList, linkItemGroupXML, "Rótulo")
43 } />
44 <#assign linksAndLabels = linksAndLabels + [obj] />
45 </#list>
46 <#return {
47 "linksAndLabels": linksAndLabels,
48 "cookiesLabel" : cookiesLabel,
49 "copyrightMessage": copyrightMessage
50 } />
51</#function>
52
53
54<#macro renderConfigFooterDates entry journalArticleService >
55 <#assign info = extractFooterInfo(entry journalArticleService) />
56
57
58 <div class="fragment-footer breakpoint" id="pet-fragment-footer">
59
60 <div class="petrobras-footer col-1-12 md-col-1-8 sm-col-1-4">
61 <div class="footer-other-links-container">
62 <div class="footer-links">
63 <a class="footer-menu-item button-sm-regular ot-sdk-show-settings" id="ot-sdk-btn" target="_blank" tabindex="0">${info.cookiesLabel} </a>
64 <#list info.linksAndLabels as link>
65 <a class="button-sm-regular footer-menu-item" open="_blank"
66 href='${link.link}'
67 tabindex="0">
68 ${link.label}
69 </a>
70 </#list>
71 </div>
72 <p class="footer_copyright button-sm-regular">${info.copyrightMessage}</p>
73 </div>
74 </div>
75
76
77 </div>
78
79</#macro>
80
81<#if entry?has_content>
82 <@renderConfigFooterDates entry journalArticleService />
83</#if>
84
85
86<style>
87
88
89 .petrobras-footer * {
90 margin: 0;
91 padding: 0;
92 }
93
94 .petrobras-footer {
95 display: flex;
96 justify-content: space-between;
97 font-family: var(--font-family-base);
98 width: 100%;
99 background: var(--color-background-default-level-02)
100 }
101
102
103 .petrobras-footer .footer-other-links-container {
104 display: flex;
105 justify-content: space-between;
106 gap: 16px;
107 width: 100%;
108 margin: var(--space-xl) 0 !important;
109 }
110
111 .petrobras-footer .footer-other-links-container .footer-links {
112 display: flex;
113 gap: var(--space-md);
114 }
115
116 .petrobras-footer .footer-other-links-container .footer-links p,
117 .petrobras-footer .footer-other-links-container .footer-links a {
118 color: var(--color-text-primary-default);
119 }
120
121 /*Cookies button*/
122 .petrobras-footer .footer-other-links-container .footer-links
123 #ot-sdk-btn.ot-sdk-show-settings, #ot-sdk-btn.optanon-show-settings {
124 color: var(--color-text-primary-default);
125 border: none;
126 padding: 0;
127 font-size: var(--font-size-xxxs);
128 line-height: var(--line-height-lg);
129 }
130
131 .petrobras-footer .footer-other-links-container .footer-links
132 #ot-sdk-btn.ot-sdk-show-settings:hover, #ot-sdk-btn.optanon-show-settings:hover {
133 background: transparent;
134 color: var(--color-neutral-800);
135 }
136
137
138 .petrobras-footer .footer-other-links-container .footer_copyright {
139 color: var(--color-neutral-dark-to-bright-300, var(--color-neutral-600));
140 }
141
142
143
144 @media (max-width: 1200px) {
145
146 .petrobras-footer .footer-other-links-container {
147 display: flex;
148 flex-direction: column;
149 margin: 48px auto 55px auto;
150 align-items: center;
151 text-align: center;
152 justify-content: flex-start;
153 gap: var(--space-md);
154 }
155
156 .petrobras-footer .footer-other-links-container p {
157 margin-left: 0;
158 }
159
160 .petrobras-footer .footer-other-links-container .footer-links {
161 display: flex;
162 flex-direction: column;
163 gap: var(--space-md);
164 }
165
166
167 .petrobras-footer .footer-other-links-container .footer-links a,
168 .petrobras-footer .footer-other-links-container .footer-links p {
169 margin-left: 0;
170 }
171
172 }
173
174 @media (max-width: 767px) {
175
176 .petrobras-footer .footer-other-links-container .footer_copyright {
177 padding-bottom: 25px;
178 }
179 }
180
181</style>
Canais
Idioma
Acessibilidade
Busca
Escolha um Canal:
Publicador de Conteúdos e Mídias está temporariamente indisponível.
Faça uma busca:
Buscar
Mais pesquisados
Preço dos combustíveis
Pré-Sal
Time Petrobras
Acessibilidade
Alto-Contraste
Desligado
Ligado
Texto Grande
Desligado
Ligado
Um erro ocorreu enquanto processava o modelo.
Template inclusion failed (for parameter value "_TEMPLATE_CONTEXT_/20099/10623376/33071/1975398"): Unable to find FreeMarker template with ID _TEMPLATE_CONTEXT_/20099/10623376/33071/1975398 ---- FTL stack trace ("~" means nesting-related): - Failed at: #include "${templatesPath}/1975398" [in template "20099#20135#8170390" at line 2, column 1] ----
1<#-- Conteúdo Web -> Templates: Site de Crise - Funções gerais-->
2<#include "${templatesPath}/1975398" />
3
4<#if entries?has_content>
5 <#assign languageList = []/>
6 <#list entries as curLanguage>
7 <#assign currURL = currentURL>
8 <#assign currLangId = curLanguage.languageId/>
9 <#assign currLangName = curLanguage.shortDisplayName/>
10 <#if !curLanguage.selected>
11 <#assign languageList += [{"url":curLanguage.getURL(), "languageId":currLangId , "name":currLangName,"selected":false}]/>
12
13 <#else>
14 <#assign languageList += [{"url":"", "languageId":currLangId, "name":currLangName, "selected":true} ]/>
15 <#assign selectedLang = currLangId />
16 </#if>
17 </#list>
18</#if>
19
20<script>
21 <#assign languageConfig = "language_" + randomNumber(1000)>
22 <#assign languageListJson = "languageListJson_" + randomNumber(1000)>
23 <#assign currentSelectedLang = "currentSelectedLang_" + randomNumber(1000)>
24
25
26 let ${languageListJson} = ${jsonFactoryUtil.looseSerializeDeep(languageList)};
27 let ${currentSelectedLang} = "${selectedLang}";
28
29 function getURLforLangChange(languageName) {
30 let result = "";
31 if (languageName != null) {
32 for (let i = 0; i < ${languageListJson}.length; i++) {
33 if (${languageListJson}[i].name.toLowerCase() == languageName.toLowerCase()) {
34 result = ${languageListJson}[i].url;
35 }
36 }
37 }
38 return result;
39 }
40
41
42
43 function getURLforLangChangeById(languageId) {
44 let result = "";
45
46 function setCookie(cname, cvalue, exdays) {
47 const d = new Date();
48 d.setTime(d.getTime() + (exdays*24*60*60*1000));
49 let expires = "expires="+ d.toUTCString();
50 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
51 //console.log("Set-Cookie:"+cname + "=" + cvalue + ";" + expires + ";path=/");
52 }
53
54
55 if (languageId != null) {
56 for (let i = 0; i < ${languageListJson}.length; i++) {
57 if (${languageListJson}[i].languageId.toLowerCase() == languageId.toLowerCase()) {
58 result = ${languageListJson}[i].url;
59 }
60 }
61
62 if (languageId == "en_US") {
63 if (result) {
64 var newResult = "";
65 var currentLocation = location.pathname.replace("/pt/","/");
66 var pathName = '/en'+currentLocation;
67 var pathNameEncoded = encodeURIComponent(pathName);
68 var splitParams = new URLSearchParams(result);
69 let i=0;
70 for (let pair of splitParams.entries()) {
71 if (i>0) newResult += '&';
72 if (pair[0]== 'redirect'){
73 newResult += pair[0]+'='+pathNameEncoded;
74 } else {
75 newResult += pair[0]+'='+pair[1];
76 }
77 i++;
78 }
79 setCookie("GUEST_LANGUAGE_ID",languageId,365);
80 result = pathName;
81 }
82 }
83 }
84 return result;
85 }
86
87
88 function goToURLIng() {
89 // console.log("goToURLIng");
90 window.location.href = getURLforLangChangeById('en_US');
91 }
92
93 function goToURLPort() {
94 //console.log("goToURLPort");
95 window.location.href = getURLforLangChangeById('pt_BR');
96 }
97
98
99 function ${languageConfig}() {
100
101 AUI().ready(function () {
102
103 const languageToggleInput = document.querySelector('#language-toggle');
104
105 const defineLanguage = () => {
106 if (themeDisplay.getLanguageId() === 'en_US') {
107 if (languageToggleInput){
108 languageToggleInput.checked = true;
109 }
110 }
111 }
112
113
114
115 setTimeout(function () {
116 //console.log("Setting button behavior");
117 //const languages = document.querySelectorAll("div.petro-pt-en > div.switch > span, div.switch-fill > span.pt, div.switch-fill > span.en");
118 const languages = document.querySelectorAll("div.switch-fill > span.pt, div.switch-fill > span.en");
119 //const input = document.querySelector("div.petro-pt-en > div.switch > input, div.switch-fill > span.pt, div.switch-fill > span.en");
120 const inputBR = document.querySelector("div.switch-fill > span.pt");
121 const inputEN = document.querySelector("div.switch-fill > span.en");
122
123 if (${currentSelectedLang} == 'pt_BR') {
124 languages.forEach(function (language) {
125 if (language.innerText == 'EN' || language.innerText == 'Inglês' || language.innerText == 'English' ) {
126 if (inputEN){
127 //console.log("Inglês "+inputEN.innerText);
128 inputEN.addEventListener("click", function (){
129 //console.log("acionado");
130 window.location.href = getURLforLangChangeById('en_US');
131 });
132 }
133 }
134 });
135 }
136
137 if (${currentSelectedLang} == 'en_US') {
138 languages.forEach(function (language) {
139 if (language.innerText == 'PT' || language.innerText == 'Português' || language.innerText == 'Portuguese' ) {
140 if (inputBR){
141 //console.log("Português "+inputBR.innerText);
142 inputBR.addEventListener("click", function(){
143 //console.log("acionado");
144 window.location.href = getURLforLangChangeById('pt_BR');
145 });
146 }
147 }
148 });
149 }
150 defineLanguage()
151
152 }, 500);
153 });
154
155
156 }
157
158 ${languageConfig}();
159
160</script>
161<noscript>Seu navegador não suporta Scripts.</noscript>
Idioma:
Selecione um idioma: