Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> audio  [in template "20101#20128#912001" at line 98, column 36]

----
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: ${audio.getData()}  [in template "20101#20128#912001" at line 98, column 34]
----
1<#assign displaydate = .vars['reserved-article-create-date'].data> 
2<#assign originalLocale = .locale> 
3<#setting locale = localeUtil.getDefault()> 
4<#assign displaydate = displaydate?datetime("EEE, d MMM yyyy HH:mm:ss Z")> 
5<#assign locale = originalLocale> 
6 
7<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
8 
9<#assign journalArticle = JournalArticleLocalService.getArticle(getterUtil.getLong(groupId), .vars['reserved-article-id'].data) > 
10<#assign articlePrimKey = journalArticle.getResourcePrimKey() > 
11 
12<#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") > 
13 
14 
15<#assign articleCatNames = catLocalService.getCategoryNames("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey)) > 
16 
17<div class="post-blog"> 
18   <div class="container-fluid p-0 pl-sm-4"> 
19        <div class="row"> 
20            <div class="col-0 col-sm-2"></div> 
21            <div class="col-12 col-sm-10 heading-h2 component-heading mb-0 pb-4  text-center text-break csf-color-blue-darkest">  
22    		    ${.vars['reserved-article-title'].data} 
23            </div> 
24        </div> 
25         
26      <div class="row"> 
27         
28         <div class="col-12 col-sm-2 order-2 order-sm-1 mt-4 mt-sm-0 pt-3 pt-sm-0 pl-0"> 
29             
30            <div class="pl-sm-5 social-media"> 
31               <div class="pl-1 pr-3 pr-sm-0 csf-color-gray-darkest font-weight-bold csf-font-size-14 text-left text-sm-right align-self-center d-sm-none">                           
32                  compartilhe:  
33               </div> 
34               <div class="text-right px-1 px-sm-2"> 
35                  <a id="share-zap" href="https://api.whatsapp.com/send?text=${friendlyURLs[themeDisplay.getLanguageId()]!""}" target="_blank">                     
36                  <img loading="lazy" class="m-2" height="40" width="40" src="/o/carrefour-theme/images/icon-zap.png">                             
37                  </a> 
38               </div> 
39               <div class="text-right px-1 px-sm-2"> 
40                  <a id="share-face" href="https://www.facebook.com/sharer/sharer.php?u=${friendlyURLs[themeDisplay.getLanguageId()]!""}" target="_blank"> 
41                  <img loading="lazy" class="m-2" height="40" width="40" src="/o/carrefour-theme/images/icon-face.png">                             
42                  </a> 
43               </div> 
44               <div class="text-right px-1 px-sm-2"> 
45                  <a id="share-twt" href="https://twitter.com/intent/tweet?url=${friendlyURLs[themeDisplay.getLanguageId()]!""}" target="_blank">                             
46                  <img loading="lazy" class="m-2" height="40" width="40" src="/o/carrefour-theme/images/icon-twitter.png"> 
47                  </a>    
48               </div> 
49               <div class="text-right px-1 px-sm-2"> 
50                  <a id="share-lnkin" href="https://www.linkedin.com/shareArticle?url=${friendlyURLs[themeDisplay.getLanguageId()]!""}" target="_blank"> 
51                  <img loading="lazy" class="m-2" height="40" width="40" src="/documents/20124/710066/icon-linkedin.png/1175be3b-8715-40bd-4279-ee0eaba609e7?t=1635366005950"> 
52                  </a> 
53               </div> 
54            </div> 
55         </div> 
56         <div class="col-12 col-sm-10 order-1 order-sm-2"> 
57            <div class="d-flex justify-content-between"> 
58               <div class=""> 
59                  <a href="" class="linkCategoria text-pink-original font-weight-bold post-category" id="linkCategoria"> 
60                    <#list articleCatNames as categoria> 
61                        ${categoria}<#sep>, </#sep> 
62                    </#list>  
63                  </a> 
64                  <div class="font-weight-normal post-date"> 
65                    ${displaydate?string["dd"]} de  
66                    ${displaydate?string["MMMM"]}, 
67                    ${displaydate?string["yyyy"]} 
68                  </div> 
69               </div> 
70               <div class="d-flex how-learn"> 
71                  <span class="csf-color-gray-darkest font-weight-bold csf-font-size-14 mr-2 heading-h6 d-none d-sm-inline align-self-center">                           
72                  Escolha como quer aprender:  
73                  </span> 
74                  <ul class="nav nav-tabs" id="myTab" role="tablist"> 
75                     <li class="nav-item home-tab"> 
76                        <a class="nav-link px-1 px-sm-2 active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true"></a> 
77                     </li> 
78                     <li class="nav-item audio-tab"> 
79                        <a class="nav-link px-1 px-sm-2 " id="audio-tab" data-toggle="tab" href="#audio" role="tab" aria-controls="audio" aria-selected="false"></a> 
80                     </li> 
81                     <li class="nav-item video-tab"> 
82                        <a class="nav-link px-1 px-sm-2" id="video-tab" data-toggle="tab" href="#video" role="tab" aria-controls="video" aria-selected="false"></a> 
83                     </li> 
84                  </ul> 
85               </div> 
86            </div> 
87            <div class="tab-content" id="postTabContent"> 
88               <div class="tab-pane fade show active mt-5" id="home" role="tabpanel" aria-labelledby="home-tab"> 
89                  <div class="mt-5 post-description"> 
90                    ${.vars['reserved-article-description'].data} 
91                  </div> 
92                  <div class="mt-5"> 
93                    ${textopost.getData()} 
94                  </div> 
95               </div> 
96               <div class="tab-pane fade mt-5" id="audio" role="tabpanel" aria-labelledby="audio-tab"> 
97                  <audio class="w-50 url-audio" controls=""> 
98                    <source src="${audio.getData()}" type="audio/mpeg"> 
99                  </audio> 
100               </div> 
101               <div class="tab-pane fade mt-5" id="video" role="tabpanel" aria-labelledby="video-tab"> 
102                  <iframe class="url-video" width="100%" height="100%" src="${urlvideo.getData()}" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe> 
103               </div> 
104            </div> 
105            <div class="back-button csf-color-blue-original mt-5"> 
106               <a href="javascript:history.back();">VOLTAR</a> 
107            </div> 
108         </div> 
109      </div> 
110   </div> 
111</div> 
112 
113 
114 
115<style> 
116 
117.post-blog .post-title { 
118     height: 56px; 
119     font-size: 24px; 
120     letter-spacing: 0; 
121     line-height: 28px; 
122     padding-left: 2%; 
123     margin-bottom: 15px; 
124
125 .post-blog .linkCategoria { 
126     text-decoration: none; 
127
128 .post-blog .post-description p { 
129     font-size: 18px; 
130     line-height: 24px; 
131
132 .post-blog .post-category { 
133     font-size: 12px; 
134     letter-spacing: 0; 
135     line-height: 20px; 
136
137 .post-blog .social-media { 
138     display: flex; 
139
140 .post-blog .post-date { 
141     font-size: 12px; 
142     letter-spacing: 0; 
143     line-height: 20px; 
144
145 .post-blog .post-img { 
146     overflow: hidden; 
147
148 .post-blog .post-img img { 
149     height: 192px; 
150     width: auto; 
151
152 .post-blog .back-button { 
153     font-family: Ubuntu; 
154     font-size: 14px; 
155     font-weight: bold; 
156
157 .how-learn a { 
158     width: 50px; 
159     height: 50px; 
160
161 .home-tab a { 
162     background: url('/o/carrefour-theme/images/text.png') no-repeat center; 
163
164 .home-tab a.active { 
165     background: url('/o/carrefour-theme/images/text-selected.png') no-repeat center; 
166
167 .audio-tab a { 
168     background: url('/o/carrefour-theme/images/audio.png') no-repeat center; 
169
170 .audio-tab a.active { 
171     background: url('/o/carrefour-theme/images/audio-selected.png') no-repeat center; 
172
173 .video-tab a { 
174     background: url('/o/carrefour-theme/images/video.png') no-repeat center; 
175
176 .video-tab a.active { 
177     background: url('/o/carrefour-theme/images/video-selected.png') no-repeat center; 
178
179 .post-blog .post-img .fakeImg { 
180     background-repeat: no-repeat; 
181     background-position: center; 
182     background-size: cover; 
183     height: 192px; 
184     width: 100%; 
185
186 @media (min-width: 575px) { 
187     .post-blog .post-description p { 
188         font-size: 24px; 
189         line-height: 32px; 
190
191     .post-blog .post-title { 
192         height: auto; 
193         font-size: 48px; 
194         line-height: 64px; 
195         padding-left: 10%; 
196         width: 100%; 
197
198     .post-blog .social-media { 
199         display: inherit; 
200
201     .post-blog .div-fixed { 
202         position: fixed; 
203         top: 0; 
204         margin-top: 90px !important; 
205         z-index: 1; 
206
207
208 .post-blog .post-category { 
209     font-size: 14px; 
210     line-height: 20px; 
211
212 .post-blog .post-date { 
213     font-size: 14px; 
214     letter-spacing: 0; 
215     line-height: 20px; 
216
217 .post-blog .post-img .fakeImg { 
218     background-position: inherit; 
219     height: 420px; 
220
221 .post-blog .lfr-ddm-form-page > span{ 
222     display: none; 
223
224 #postTabContent #video iframe { 
225     height: 494px; 
226     width: 100%; 
227
228 .post-blog .back-button { 
229     font-size: 16px; 
230
231 #audio { 
232     min-height: 188px; 
233
234 
235</style> 
236 
237<script> 
238 
239$(document).ready(function() { 
240 
241    var categoria = $('.post-category')[0].innerText; 
242    categoria = categoria.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, ""); 
243    categoria = categoria.replace(' ', '-'); 
244 
245    var locationURL = window.location.href.replace('w/', '').replace('-/', ''); 
246    locationURL = locationURL.substring(0, locationURL.lastIndexOf('/')) + '/' + categoria; 
247    $("#linkCategoria").attr('href', locationURL); 
248     
249    var srcAudio = $('.url-audio source').attr('src'); 
250    if (srcAudio == null || srcAudio == undefined || srcAudio == "") { 
251        $(".audio-tab").css("display", "none"); 
252
253     
254    var srcVideo = $('#video iframe').attr('src'); 
255    if (srcVideo == null || srcVideo == undefined || srcVideo == "") { 
256        $(".video-tab").css("display", "none"); 
257
258     
259    var sideBarBlog = $(".social-media").offset().top; 
260    var sideBarHeight = $(".social-media").height(); 
261 
262    $(document).scroll(function() { 
263 
264        //90 do menu e 32 do espaçamento inferior 
265        var nav = $('.tab-pane.active'); 
266        if (nav.length) { 
267            var maxScroll = $(".tab-pane.active").height() + $(".tab-pane.active").offset().top - 90 - 32; 
268     
269            //90 do header 
270            if ((($(this).scrollTop() + 90 + 42) > sideBarBlog) && 
271                (($(this).scrollTop() + sideBarHeight) < maxScroll)) { 
272     
273                $(".order-sm-1 .social-media").addClass("div-fixed"); 
274            } else { 
275                $(".order-sm-1 .social-media").removeClass("div-fixed"); 
276
277
278    }); 
279 
280}); 
281 
282</script> 

Fique por dentro das novidades

O Cartão Carrefour tem muito mais dicas para você ficar sempre no comando das suas contas.


Não perca tempo! peça já seu cartão!
Mais artigos para você
Ícone seta esquerda Previous Ícone seta direita Next