Conheça nossa Ouvidoria
Se após contactar o SAC você ainda precise de algum suporte, fale com nossa Ouvidoria pelo formulário ao fim da página.
Quer entrar em contato com a Ouvidoria?
Leia as instruções abaixo e preencha o formulário.
Preencha seus dados pessoais e informe o número de protocolo do primeiro atendimento no SAC.
Ainda não possui o número de protocolo? Fale com o SAC
Manifestação
Escolha o tipo de manifestação, descreva sua solicitação e anexe documentos, se houver.
Finalização
Clique em Registrar e aguarde nosso retorno em até 7 dias úteis.
Ops! Estes dados não foram encontrados.
Os dados inseridos no formulário não foram encontrados. corrija as informações e tente novamente.
O arquivo fornecido é inválido!
É necessário informar pelo menos 1 arquivo. Os arquivo devem no maximo 1MB
Deseja mesmo remover este arquivo?
Você pode subi-lo novamente, caso precise.
The following has evaluated to null or missing:
==> imgUrl [in template "20097#20123#6145814" at line 41, column 81]
----
Tip: If the failing expression is known to 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: ${imgUrl} [in template "20097#20123#6145814" at line 41, column 79]
----
1<#if entries?has_content>
2 <div class="container">
3 <div class="classepaia">
4 <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
5 <div id="carrosselField" class="carousel-inner">
6 <#list entries as curEntry>
7 <#assign
8 assetRenderer = curEntry.getAssetRenderer()
9 serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()
10 dlAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
11 dlUtil = staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
12 link = assetRenderer.getURLViewInContext(renderRequest, renderResponse, '')
13 />
14
15 <#assign docXml = saxReaderUtil.read(assetRenderer.getArticle().getContent()) />
16
17 <#assign
18 titulo = docXml.valueOf("//dynamic-element[@name='titulo']/dynamic-content[@language-id='"+themeDisplay.getLocale()+"']/text()")
19 descricao = docXml.valueOf("//dynamic-element[@name='descricao']/dynamic-content[@language-id='"+themeDisplay.getLocale()+"']/text()")
20 cta = docXml.valueOf("//dynamic-element[@name='cta']/dynamic-content[@language-id='"+themeDisplay.getLocale()+"']/text()")
21 url = docXml.valueOf("//dynamic-element[@name='url']/dynamic-content[@language-id='"+themeDisplay.getLocale()+"']/text()")
22 imagemCard = docXml.valueOf("//dynamic-element[@name='imagem']/dynamic-content[@language-id='"+themeDisplay.getLocale()+"']/text()")
23 />
24 <#assign description="" />
25 <#if imagemCard?has_content>
26 <#assign
27 imagem = imagemCard?eval
28 imagemUuid = imagem.uuid
29 groupId = imagem.groupId
30 dlFile = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(imagemUuid,groupId?number)
31 imgUrl = dlUtil.getPreviewURL(dlFile, dlFile.getFileVersion(),themeDisplay,'')
32 />
33 <#assign description = imagem.alt?string!"">
34 </#if>
35 <#if description=="">
36 <#assign description = "sem descrição textual">
37 </#if>
38 <div class="carousel-item bg-gray" tabindex="0">
39 <div class="row">
40 <div class="col-12 col-lg-6 cmpimg">
41 <img loading="lazy" alt="${description}" class="w-100" src="${imgUrl}">
42 </div>
43 <div class="col-12 col-lg-6 camptxt">
44 <h2 tabindex="0">${titulo}</h2>
45 <div tabindex="0">${descricao}</div>
46 <#if cta?has_content>
47 <span tabindex="0">
48 <svg id="direita" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
49 <g id="Grupo_1585" data-name="Grupo 1585" transform="translate(-412 281) rotate(-90)">
50 <rect id="Retângulo_356" data-name="Retângulo 356" width="20" height="20" transform="translate(261 412)" fill="none"/>
51 <path id="Caminho_382" data-name="Caminho 382" d="M171.476,425.028a.748.748,0,0,1-.559-.25l-5.724-6.4-6.177,6.418a.75.75,0,1,1-1.081-1.04l6.737-7a.75.75,0,0,1,1.1.02l6.263,7a.75.75,0,0,1-.559,1.25Z" transform="translate(435.976 843.778) rotate(180)" fill="#ec6e0c"/>
52 </g>
53 </svg>
54 </span>
55 <a href="${url}">${cta}</a>
56 </#if>
57 </div>
58 </div>
59 </div>
60 </#list>
61 <a class="carousel-control-prev" aria-label="prev slide" href="#carouselExampleIndicators" role="button" data-slide="prev">
62 <span class="carousel-control-prev-icon" aria-hidden="true"></span>
63 <span class="sr-only">Previous</span>
64 </a>
65 <a class="carousel-control-next" aria-label="next slide" href="#carouselExampleIndicators" role="button" data-slide="next">
66 <span class="carousel-control-next-icon" aria-hidden="true"></span>
67 <span class="sr-only">Next</span>
68 </a>
69 </div>
70 <ol class="carousel-indicators carousel_principal_indicators">
71 <#list entries as curEntry>
72 <#if curEntry?index == 0 >
73 <!-- <li tabindex="0" data-target="#carouselExampleIndicators" data-slide-to="${curEntry?index}" class="active" ></li>-->
74 <li class="active">
75 <button
76 type="button"
77 tabindex="0"
78 data-target="#carouselExampleIndicators"
79 data-slide-to="${curEntry?index}"
80 aria-label="dots Ir para o slide ${curEntry?index + 1}"
81 ></button>
82 </li>
83 <#else>
84 <!--<li tabindex="0" data-target="#carouselExampleIndicators" data-slide-to="${curEntry?index}"></li>-->
85 <li>
86 <button
87 type="button"
88 tabindex="0"
89 data-target="#carouselExampleIndicators"
90 data-slide-to="${curEntry?index}"
91 aria-label="dots Ir para o slide ${curEntry?index + 1}"
92 ></button>
93 </li>
94 </#if>
95 </#list>
96 </ol>
97 </div>
98 </div>
99 </div>
100</#if>
101
102
103<style>
104.carousel-control-prev-icon, .carousel-control-next-icon {
105 margin-top: 40px;
106 display: none;
107}
108.bg-gray{
109 background: #FFFFFF 0% 0% no-repeat padding-box;
110 box-shadow: 4px 4px 16px #00000029;
111 border-radius: 8px;
112 margin-top: 60px;
113 margin-bottom: 80px;
114 }
115
116 .classepaia .carousel-item{
117 width: 98%;
118 }
119
120 .classepaia .carousel-control-prev, .classepai .carousel-control-next{
121 display: none;
122 }
123.carousel_principal_indicators{
124 align-items:center;
125}
126 .carousel_principal_indicators li{
127 font-size: 0;
128 width: 7px !important;
129 height: 7px !important;
130 border: 2px solid var(--primary);
131 background: transparent;
132 border-radius: 50%;
133 margin-bottom: 6px !important;
134 outline: none!important;
135 }
136
137.carousel_principal_indicators li button {
138 width: 100%;
139 height: 100%;
140 display: block;
141 border-radius: inherit;
142 background: transparent;
143 border: none;
144 padding: 0;
145 cursor: pointer;
146}
147
148.carousel_principal_indicators li button {
149 outline: none !important;
150}
151
152.carousel_principal_indicators li:has(button:focus-visible) {
153 outline: 2px solid #000 !important;
154 outline-offset: 0px;
155}
156
157.carousel_principal_indicators li:has(button:focus) {
158 outline: none;
159}
160
161 .carousel_principal_indicators .active{
162 border: 1px solid var(--primary);
163 border-radius: 17px;
164 width: 20px !important;
165 height: 0px;
166 background: var(--primary) !important;
167 }
168
169 .camptxt{
170 padding: 30px 50px 25px 25px;
171 }
172
173 .camptxt h2{
174 font-family:"oxygen-bold";
175 font-size: 24px;
176}
177
178.camptxt p{
179 font-family:"oxygen-regular";
180 font-size: 16px;
181}
182
183.camptxt a{
184 font-family:"oxygen-bold";
185 font-size: 16px;
186 color: var(--primary);
187}
188
189.camptxt span{
190 font-size: 20px;
191 display: inline-block;
192 margin-right: 10px;
193 color: var(--primary);
194}
195
196
197 .cmpimg img{
198 border-radius: 8px;
199 max-height:300px;
200 }
201.carousel-item.active, .nav-underline .tab.active a.carousel-item, .carousel-item-next, .carousel-item-prev {
202 display: flex;
203}
204 @media (min-width: 991px) and (max-width: 1200px){
205 .cmpimg img{
206 min-height: 310px;
207 }
208 }
209
210 @media (max-width: 991px){
211 .cmpimg img{
212 border-radius: 10px;
213 }
214 .camptxt{
215 padding: 20px 40px;
216 }
217 .carousel-inner {
218 display: flex;
219 align-items: stretch;
220 }
221 }
222 @media (max-width: 400px){
223 .cmpimg img {
224 border-radius: 10px;
225 max-height: 400px;
226 min-height: 234px;
227 object-fit: cover;
228 }
229 }
230</style>
231<script>
232$('#carrosselField div:first').addClass('active');
233</script>