Promoção
Cartão Carrefour
Hora da virada
Ganhadores do sorteio vale-compras
Subtítulo
Sorteio Final
Você pode ganhar números da sorte de várias formas!
Eclair de oliveira
- Prêmio R$ 50.000,00
José da Silva
- Prêmio R$ 50.000,59
Promoções encerradas
Você pode ganhar números da sorte de várias formas!
Um erro ocorreu enquanto processava o modelo.
Can't convert this string to number: "public" The blamed expression: ==> linkPage?split("@")?last?number [in template "20101#20128#616062" at line 40, column 52] ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign groupID = linkPage?split("@")... [in template "20101#20128#616062" at line 40, column 33] ----
1<#assign layoutLocalService = staticUtil["com.liferay.portal.kernel.service.LayoutLocalServiceUtil"]>
2
3<div class="carousel-seguros top-content-cl position-relative">
4
5 <#if entries?has_content>
6 <div class="carousel-container">
7 <div class="container">
8
9 <div id="carousel-other-secures" class="carousel slide" data-ride="carousel" >
10 <#if (entries?size > 3) >
11 <a class="carousel-control-prev" style="width: 6%" href="#carousel-other-secures" role="button" data-slide="prev">
12 <img src="/o/carrefour-theme/images/seta-esquerda-carousel.png" />
13 <span class="sr-only">Previous</span>
14 </a>
15 <a class="carousel-control-next" style="width: 6%" href="#carousel-other-secures" role="button" data-slide="next">
16 <img src="/o/carrefour-theme/images/seta-direita-carousel.png" />
17 <span class="sr-only">Next</span>
18 </a>
19 </#if>
20 <div class="carousel-inner row w-100 mx-auto" role="listbox">
21
22 <#list entries as curEntry>
23
24 <#assign assetRenderer = curEntry.getAssetRenderer() />
25 <#assign docXml = saxReaderUtil.read(assetRenderer.getArticle().getContent()) />
26
27 <#assign rootElement = docXml.getRootElement()>
28 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='imagem']")>
29 <#assign imgNews = xPathSelector.selectSingleNode(rootElement).getStringValue()>
30 <#assign imgJson = jsonFactoryUtil.createJSONObject(imgNews)>
31 <#assign imgUrl = "/documents/"+ imgJson.groupId +"/" +imgJson.resourcePrimKey +"/"+ imgJson.name +"/"+imgJson.uuid >
32
33 <#assign tit = docXml.valueOf("//dynamic-element[@name='titulo']/dynamic-content/text()") />
34 <#assign desc = docXml.valueOf("//dynamic-element[@name='descricao']/dynamic-content/text()") />
35
36 <#assign linkPage = docXml.valueOf("//dynamic-element[@name='linkPage']/dynamic-content/text()") />
37
38 <#if linkPage?has_content>
39 <#assign layoutID = linkPage?split("@")?first?number />
40 <#assign groupID = linkPage?split("@")?last?number />
41 <#assign layoutSeguro = layoutLocalService.getLayout(groupID, false, layoutID) />
42 <#assign fullURL = themeDisplay.getPortalURL() + layoutSeguro.getFriendlyURL() />
43 <#else>
44 <#assign fullURL = themeDisplay.getPortalURL() />
45 </#if>
46
47 <#assign active = "" />
48
49 <#if curEntry?counter==1>
50 <#assign active = "active" />
51 </#if>
52
53 <div class="carousel-item col-12 col-sm-6 col-md-4 col-lg-4 p-0 ${active}">
54 <div class="csf-carousel-card mb-2">
55 <img class="csf-carousel-card-img" src="${imgUrl}" alt="">
56 <div class="card-body">
57 <a href="${fullURL}" class="csf-carousel-card-title csf-color-blue-dark">${tit}</a>
58 <p class="csf-carousel-card-text csf-color-gray-darkest">${desc}</p>
59 <a href="${fullURL}" class="csf-carousel-card-link">SAIBA MAIS</a>
60 <img class="crs-arrow" src="/o/carrefour-theme/icons/icon_rigth_arrow.svg" />
61 </div>
62 </div>
63 </div>
64
65 </#list>
66 </div>
67
68 <ol class="carousel-indicators" style="display: none;">
69 <#list entries as curEntry>
70 <#assign active = "" />
71
72 <#if curEntry?counter==1>
73 <li data-target="#carousel-other-secures" data-slide-to="${curEntry?index}" class="active"></li>
74 <#elseif curEntry?has_next >
75 <li data-target="#carousel-other-secures" data-slide-to="${curEntry?index}" class="middle"></li>
76 <#else>
77 <li data-target="#carousel-other-secures" data-slide-to="${curEntry?index}" class=""></li>
78 </#if>
79 </#list>
80 </ol>
81
82
83 </div>
84
85 </div>
86
87 </div>
88
89 </#if>
90
91</div>
92
93<style>
94
95.top-content-cl {
96 z-index: 1;
97 height: 720px;
98}
99
100.top-content-cl .csf-carousel-card-link .lexicon-icon {
101 height: 0.8em;
102 margin-top: -2px;
103 width: 2em;
104}
105
106.top-content-cl .carousel-container {
107 position: relative;
108 z-index: -1;
109}
110
111.top-content-cl .carousel-indicators {
112 bottom: auto;
113 position: relative;
114 margin: 0;
115 width: 50%;
116}
117
118.top-content-cl .carousel-indicators li{
119 width: 15px;
120 height: 15px;
121 border-radius: 50%;
122 background-color: #FFF;
123 float:left;
124 cursor: pointer;
125 margin-left: 11px;
126 border: 1px solid #0970E6;
127 }
128
129.top-content-cl .carousel-indicators .active{
130 background-color: #0970E6;
131 border: none;
132}
133
134.top-content-cl .carousel {
135 text-align: center;
136 text-align: -webkit-center;
137 text-align: -moz-center;
138 text-align: -ms-center;
139 text-align: -o-center;
140
141}
142
143.top-content-cl img.crs-arrow {
144 width: 20px;
145 height: 20px;
146 margin-left: 14px;
147}
148
149.top-content-cl .card-body {
150 text-align: center;
151 padding-top: 32px;
152}
153
154.top-content-cl .csf-carousel-title {
155 font-family: Ubuntu;
156 font-size: 40px;
157 font-weight: bold;
158 line-height: 46px;
159 margin-bottom: 56px;
160}
161
162.top-content-cl .csf-carousel-card {
163 box-sizing: border-box;
164 height: 492px;
165 border: 2px solid #EFF4F8;
166 background-color: #FFFFFF;
167 box-shadow: 4px 8px 20px 0 #F9F9F9;
168 margin: 0 20px;
169}
170
171.top-content-cl .csf-carousel-card-img {
172 height: 193px;
173 width: 100%;
174}
175
176.top-content-cl .csf-carousel-card-title {
177 height: 24px;
178 font-family: Ubuntu;
179 font-size: 20px;
180 font-weight: bold;
181 line-height: 24px;
182 margin-bottom: 22px;
183}
184
185.top-content-cl .csf-carousel-card-text {
186 height: 72px;
187 font-family: "Open Sans";
188 font-size: 18px;
189 line-height: 24px;
190 margin: 32px 0;
191 overflow: hidden;
192}
193
194.top-content-cl .csf-carousel-card-link {
195 height: 20px;
196 font-family: Ubuntu;
197 font-size: 16px;
198 font-weight: bold;
199 line-height: 16px;
200}
201
202@media (max-width: 576px) {
203
204 .top-content-cl .top-content-cl {
205 height: 652px;
206 }
207
208 .top-content-cl .carousel-indicators{
209 display: inline-flex !important;
210 width: auto;
211 padding-top: 24px;
212 }
213 .top-content-cl .carousel-control-prev{
214 display: none !important;
215 }
216 .top-content-cl .carousel-control-next{
217 display: none !important;
218 }
219 .top-content-cl .carousel-container {
220 background-color: #FFF;
221 z-index: 1;
222 }
223 .top-content-cl .csf-carousel-title {
224 height: 36px;
225 width: 313px;
226 color: #002651;
227 font-family: Ubuntu;
228 font-size: 32px;
229 font-weight: bold;
230 line-height: 37px;
231 text-align: center;
232 margin-bottom: 40px;
233 }
234
235 .top-content-cl .csf-carousel-card {
236 height: 456px;
237 }
238
239 .top-content-cl .csf-carousel-card-text {
240 height: 60px;
241 font-size: 16px;
242 line-height: 20px;
243 margin: 16px 0 40px 0;
244 }
245
246 .carousel-seguros .middle {
247 display: none;
248 }
249
250 .carousel-seguros .middle.active {
251 display: block;
252 }
253
254}
255
256/*
257 code by Iatek LLC 2018 - CC 2.0 License - Attribution required
258 code customized by Azmind.com
259*/
260@media (min-width: 768px) and (max-width: 991px) {
261 /* Show 4th slide on md if col-md-4*/
262 .top-content-cl .carousel-inner .active.col-md-4.carousel-item + .carousel-item + .carousel-item + .carousel-item {
263 position: absolute;
264 top: 0;
265 right: -33.3333%; /*change this with javascript in the future*/
266 z-index: -1;
267 display: block;
268 visibility: visible;
269 }
270}
271@media (min-width: 576px) and (max-width: 768px) {
272 /* Show 3rd slide on sm if col-sm-6*/
273 .top-content-cl .carousel-inner .active.col-sm-6.carousel-item + .carousel-item + .carousel-item {
274 position: absolute;
275 top: 0;
276 right: -50%; /*change this with javascript in the future*/
277 z-index: -1;
278 display: block;
279 visibility: visible;
280 }
281}
282@media (min-width: 576px) {
283 .top-content-cl .carousel-item {
284 margin-right: 0;
285 }
286 /* show 2 items */
287 .top-content-cl .carousel-inner .active + .carousel-item {
288 display: block;
289 }
290 .top-content-cl .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left),
291 .top-content-cl .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item {
292 transition: none;
293 }
294 .top-content-cl .carousel-inner .carousel-item-next {
295 position: relative;
296 transform: translate3d(0, 0, 0);
297 }
298 /* left or forward direction */
299 .top-content-cl .active.carousel-item-left + .carousel-item-next.carousel-item-left,
300 .top-content-cl .carousel-item-next.carousel-item-left + .carousel-item,
301 .top-content-cl .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item {
302 position: relative;
303 transform: translate3d(-100%, 0, 0);
304 visibility: visible;
305 }
306 /* farthest right hidden item must be also positioned for animations */
307 .top-content-cl .top-content-cl .carousel-inner .carousel-item-prev.carousel-item-right {
308 position: absolute;
309 top: 0;
310 left: 0;
311 z-index: -1;
312 display: block;
313 visibility: visible;
314 }
315 /* right or prev direction */
316 .top-content-cl .active.carousel-item-right + .carousel-item-prev.carousel-item-right,
317 .top-content-cl .carousel-item-prev.carousel-item-right + .carousel-item,
318 .top-content-cl .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item {
319 position: relative;
320 transform: translate3d(100%, 0, 0);
321 visibility: visible;
322 display: block;
323 visibility: visible;
324 }
325}
326/* MD */
327@media (min-width: 768px) {
328 /* show 3rd of 3 item slide */
329 .top-content-cl .carousel-inner .active + .carousel-item + .carousel-item {
330 display: block;
331 }
332 .top-content-cl .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item {
333 transition: none;
334 }
335 .top-content-cl .carousel-inner .carousel-item-next {
336 position: relative;
337 transform: translate3d(0, 0, 0);
338 }
339 /* left or forward direction */
340 .top-content-cl .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item {
341 position: relative;
342 transform: translate3d(-100%, 0, 0);
343 visibility: visible;
344 }
345 /* right or prev direction */
346 .top-content-cl .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item {
347 position: relative;
348 transform: translate3d(100%, 0, 0);
349 visibility: visible;
350 display: block;
351 visibility: visible;
352 }
353}
354
355/* LG */
356@media (min-width: 991px) {
357 /* show 4th item */
358 .top-content-cl .carousel-inner .active + .carousel-item + .carousel-item {
359 display: block;
360 }
361 .top-content-cl .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item {
362 transition: none;
363 }
364
365 /* Show 4th slide on lg if col-lg-4 */
366 .top-content-cl .carousel-inner .active.col-lg-4.carousel-item + .carousel-item + .carousel-item + .carousel-item {
367 position: absolute;
368 top: 0;
369 right: -33.3333%; /*change this with javascript in the future*/
370 z-index: 1;
371 display: block;
372 visibility: visible;
373 }
374
375 /* left or forward direction */
376 .top-content-cl .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item {
377 position: relative;
378 transform: translate3d(-100%, 0, 0);
379 visibility: visible;
380 }
381 /* right or prev direction //t - previous slide direction last item animation fix */
382 .top-content-cl .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item {
383 position: relative;
384 transform: translate3d(100%, 0, 0);
385 visibility: visible;
386 display: block;
387 visibility: visible;
388 }
389}
390
391</style>
392
393<script>
394$(document).ready(function(){
395 $("#carousel-other-secures").parents("div.container.py-3").removeClass("py-3").addClass("p-0");
396 $("#carousel-other-secures").parents("div.col-md-12").css({"padding": "0"});
397
398 if($('#carousel-other-secures .carousel .carousel-item').length > 3) {
399 $('#carousel-other-secures .carousel').attr("data-ride", "carousel")
400 $('#carousel-other-secures .carousel').carousel()
401 }
402
403});
404
405/*
406 Carousel
407*/
408$('#carousel-other-secures').on('slide.bs.carousel', function (e) {
409 /*
410 CC 2.0 License Iatek LLC 2018 - Attribution required
411 */
412 var $e = $(e.relatedTarget);
413 var idx = $e.index();
414 var itemsPerSlide = $('#carousel-other-secures .carousel-item:visible').length;
415 var totalItems = $('#carousel-other-secures .carousel-item').length;
416
417 if (idx >= totalItems-(itemsPerSlide-1)) {
418 var it = itemsPerSlide - (totalItems - idx);
419 for (var i=0; i<it; i++) {
420 // append slides to end
421 if (e.direction=="left") {
422 $('#carousel-other-secures .carousel-item').eq(i).appendTo('.carousel-inner');
423 }
424 else {
425 $('#carousel-other-secures .carousel-item').eq(0).appendTo('.carousel-inner');
426 }
427 }
428 }
429});
430
431</script>