eds-home-Design, Artes e Arquitetura

Design, Artes e Arquitetura

Navegação da Categoria do Comércio

Navegação da Categoria do Comércio

Filtre
Arquitetura e Design de Interiores
Arte e Cultura
Desenho e Animação
Design Gráfico e Digital
Fotografia
Paisagismo e Jardinagem
Visual Merchandising

eds-titulo-LANÇAMENTOS

Editor de produto

Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> media.getTitle()  [in template "20102#20129#43699000" at line 20, column 64]

----
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: #if media.getURL()?has_content && med...  [in template "20102#20129#43699000" at line 20, column 29]
----
1<#setting locale="pt_BR"> 
2 
3<#assign commerceOrderLocalService = serviceLocator.findService("com.liferay.commerce.service.CommerceOrderLocalService")> 
4<#assign contentHelper = serviceLocator.findService("com.liferay.commerce.product.content.util.CPContentHelper") /> 
5<#assign definitionHelper = serviceLocator.findService("com.liferay.commerce.product.util.CPDefinitionHelper") /> 
6<#assign productService = serviceLocator.findService("br.senac.sp.editora.services.service.ProductService") /> 
7<#assign userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService")> 
8<#assign warehouseService = serviceLocator.findService("com.liferay.commerce.inventory.service.CommerceInventoryWarehouseItemLocalService") /> 
9<#assign companyId =  userLocalService.getUser(themeDisplay.getUserId()).getCompanyId() /> 
10 
11<div class="slider4 slider4semextracard"> 
12    <#if entries?has_content> 
13        <#list entries as curCPCatalogEntry> 
14            <#assign cpSku = curCPCatalogEntry.CPSkus[0] > 
15            <#if productService.isAvailable( curCPCatalogEntry.getCPDefinitionId() )> 
16                <div class="imgContainerEspecialCarrossel4"> 
17                    <a onclick="cardProductClick(this)" href="${definitionHelper.getFriendlyURL(curCPCatalogEntry.getCPDefinitionId(),themeDisplay)}" data-definition="${curCPCatalogEntry.getCPDefinitionId()}"> 
18                        <#assign cpMedia = contentHelper.getImages(curCPCatalogEntry.getCPDefinitionId(), themeDisplay) /> 
19                        <#list cpMedia as media> 
20                            <#if media.getURL()?has_content && media.getTitle()?contains("small")> 
21                                <img src="" data-lazy="${media.getURL()}"/> 
22                                <#break> 
23                            </#if> 
24                        </#list> 
25                        <div class="informacoesProdutoCarrossel4"> 
26                            <div class="infoSuperiores"> 
27                                <div class="tituloEspecialCarrossel4"> 
28                                    ${curCPCatalogEntry.name?truncate(60, '...')} 
29                                </div> 
30                                <div class="autorEspecialCarrossel4"> 
31                                    <#if contentHelper?has_content > 
32                                        <#list contentHelper.getCategorizedCPDefinitionSpecificationOptionValues(curCPCatalogEntry.getCPDefinitionId(),43620166) as specs> 
33                                            <#if specs.CPSpecificationOptionId == 43594743> 
34                                                ${specs.getValueCurrentValue()?truncate(45, '...')} 
35                                                <#break> 
36                                            </#if> 
37                                        </#list> 
38                                    </#if> 
39                                </div> 
40                            </div> 
41                        </div> 
42                    </a> 
43                    <div class="valorCarrossel4" data-definition="${curCPCatalogEntry.getCPDefinitionId()}"> 
44                        <@liferay_commerce_ui["price"] 
45                            CPCatalogEntry=curCPCatalogEntry 
46                        /> 
47                    </div> 
48                    <div class="divEspiarCarrossel4"> 
49                        <#if productService.isAvailable( curCPCatalogEntry.getCPDefinitionId() ) && warehouseService.getStockQuantity(companyId,cpSku.getSku()) gt 0 > 
50                            <span class="comprarCarrossel4" data-sku="${cpSku.getSku()}"> 
51                                <#assign PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] /> 
52                                <#assign id = "add-to-cart" + PortalUtil.generateRandomKey(request, "add-to-cart") + "" + cpSku.getSku() /> 
53                                <@liferay_commerce_ui["add-to-cart"] 
54                                    CPInstanceId=cpSku.getCPInstanceId() 
55                                    id=id 
56                                /> 
57                            </span> 
58                        <#else> 
59                            <span class="comprarCarrossel4"> 
60                                <button class="btnIndisponivelEspecialCarrossel4" href="javascript:void(0)" disabled>Livro Indisponível</button> 
61                            </span> 
62                        </#if> 
63                    </div> 
64                </div> 
65            </#if> 
66        </#list> 
67    </#if> 
68</div> 
69 
70<style> 
71  .comprarCarrossel4  div.form-group { 
72    display: none; 
73
74    .comprarCarrossel4 .add-to-cart-quantity-marker.active { 
75        opacity: 0; 
76        display: none; 
77
78 
79    .comprarCarrossel4  form.quantity-selector { 
80        display: none; 
81
82 
83    .comprarCarrossel4  button.btn.btn-primary { 
84        background-color: #5ACC75; 
85        border-radius: 4px; 
86        width: 206px; 
87        padding: 1px; 
88        justify-content: center;  
89        padding-left: 13%; 
90        margin-top: 0.75rem !important; 
91
92   
93     
94    .customCart{ 
95        opacity: 1 !important; 
96        filter: none !important; 
97        height: 405 !important; 
98        width: 246 !important; 
99
100     
101    @media (max-width: 768px) { 
102        .slider4.slider4semextracard .next-arrow { 
103            right: unset; 
104            left: calc(100vw - 94px); 
105            z-index: 10; 
106
107         
108        .slider4.slider4semextracard .prev-arrow { 
109            left: 18px; 
110            z-index: 10; 
111
112         
113        .slider4.slider4semextracard .slick-list { 
114            z-index: 8; 
115
116         
117        .slider4.slider4semextracard .slide-arrow .fa { 
118            font-size: 22px; 
119            font-weight: 400; 
120
121         
122        .divEspiarCarrossel4 { 
123            margin-top: 19px !important; 
124
125 
126        .slider4semextracard .valorCarrossel4, 
127        .slider4semextracard .divEspiarCarrossel4 { 
128            position: absolute !important; 
129
130 
131        .slider4semextracard .valorCarrossel4 { 
132            bottom: 50px; 
133            left: 20px; 
134
135     
136        .slider4semextracard .divEspiarCarrossel4 { 
137            bottom: 10px; 
138            right: 20px; 
139
140 
141        .slider4semextracard .valorCarrossel4 .price-value { 
142            font: normal 600 18px/17px Montserrat !important; 
143            margin-left: 0!important; 
144
145        .slider4semextracard .comprarCarrossel4 .btn-add-to-cart { 
146          margin: 0 !important; 
147          padding-top: 2px !important; 
148
149        .comprarCarrossel4 .btn-add-to-cart::before { 
150          font-size: 16px; 
151
152
153     
154    @media (max-width: 600px) { 
155      .comprarCarrossel4 button.btn.btn-primary.btn-lg.btn-add-to-cart.btn-add-to-cart-inline { 
156        padding-left: 1px; 
157        height: 30px; 
158
159 
160      .btn-add-to-cart-inline::before { 
161        font-size: 14px; 
162        width: 100%; 
163        text-align: center; 
164        display: block; 
165
166
167     
168    .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a { 
169        display: flex; 
170        align-items: flex-end; 
171
172     
173    .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .product-promo-price { 
174        order: 1; 
175        margin-top: 0!important; 
176        margin-right: 2px; 
177
178     
179    .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .divValorCarrossel4 { 
180        order: 2; 
181
182     
183    .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .divValorCarrossel4 + .product-promo-price { 
184        margin-right: 5px; 
185
186     
187    .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .product-price { 
188        order: 3; 
189        margin-top: 0; 
190
191 
192    .slider4semextracard .valorCarrossel4, 
193    .slider4semextracard .divEspiarCarrossel4 { 
194        position: relative; 
195        z-index: 9999; 
196
197     
198    @media (min-width: 769px) { 
199        .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .product-price, 
200        .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .product-promo-price { 
201            line-height: 17px; 
202
203 
204        .slider4semextracard .valorCarrossel4 { 
205            top: 100px; 
206            left: 20px; 
207
208     
209        .slider4semextracard .divEspiarCarrossel4 { 
210            top: 90px; 
211            right: 20px; 
212
213
214 
215    .tituloEspecialCarrossel4 { 
216        display: -webkit-box; 
217      -webkit-line-clamp: 3; 
218      -webkit-box-orient: vertical; 
219      overflow: hidden; 
220
221 
222    .informacoesSuperioresCarrossel4 { 
223        height: 72px; 
224
225     
226    @media (max-width: 414px){ 
227        .slider4 { 
228            width: 100vw !important; 
229            /* margin-right: 0; */ 
230            margin-right: 20px; 
231            margin-left: 20px; 
232
233
234 
235    @media (min-width: 769px) and (max-width: 820px) { 
236        .slider4semextracard .valorCarrossel4, 
237        .slider4semextracard .divEspiarCarrossel4 { 
238            position: absolute; 
239
240 
241        .slider4semextracard .valorCarrossel4 { 
242            top: initial !important; 
243            bottom: 50px; 
244
245     
246        .slider4semextracard .divEspiarCarrossel4 { 
247            top: 315px; 
248
249
250 
251    @media (max-width: 1200px) { 
252      	.slick-dots { 
253            width: 100vw !important; 
254
255
256 
257</style> 
258         
259<script 
260      src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js" 
261      integrity="sha512-XtmMtDEcNz2j7ekrtHvOVR4iwwaD6o/FUJe6+Zq+HgcCsk3kj4uSQQR8weQ2QVj1o0Pk6PwYLohm206ZzNfubg==" 
262      crossorigin="anonymous" 
263      referrerpolicy="no-referrer" 
264    ></script> 
265 
266<script type="text/javascript"> 
267   
268       var tituloSlider = setInterval(function() { 
269         if ($('.slider4').length >= 1) { 
270            $(` 
271                  <div class="background-right titulo-slider4"><a href="\rita-lobo">Livros que você pode gostar&nbsp;</a><i class="fas fa-circle circulo-laranja" aria-hidden="true"></i></div> 
272              `).insertBefore('.slider4:has(.imgContainerEspecialCarrossel4)'); 
273            clearInterval(tituloSlider); 
274
275       }, 50); 
276     
277       setTimeout(function(){ 
278         $(document).ready(function() { 
279              $('.slider4').slick({ 
280                  arrows: true, 
281                  slidesToShow: 4, 
282                  slidesToScroll: 4, 
283                  dots:true, 
284                  infinite: false, 
285                  lazyLoad: 'ondemand', 
286                  prevArrow: '<a href="#" class="slide-arrow prev-arrow"><i class="fa fa-chevron-left gray"></i></a>', 
287                  nextArrow: '<a href="#" class="slide-arrow next-arrow"><i class="fa fa-chevron-right gray"></i></a>', 
288                  speed: 1000,  
289                  index: 1, 
290                  focusOnSelect:false, 
291                  accessibility:false, 
292                  adaptiveHeight:false, 
293                  autoplay:false, 
294                  responsive: [{ 
295                    breakpoint: 1200, 
296                    settings: { 
297                        slidesToShow: 4, 
298                        slidesToScroll: 4, 
299                        variableWidth: true, 
300                        infinite: false, 
301                        centerMode: false, 
302                        dots:true, 
303                        arrows: true 
304
305                }, { 
306                    breakpoint: 768, 
307                    settings: { 
308                        slidesToShow: 1, 
309                        slidesToScroll: 1, 
310                        variableWidth: true, 
311                        infinite: false, 
312                        centerPadding: 0, 
313                        centerMode: false, 
314                        dots:false, 
315                        arrows: false 
316
317                }] 
318              }); 
319 
320             sendViewItemList([<#list entries as curCPCatalogEntry>${curCPCatalogEntry.getCPDefinitionId()},</#list>]) 
321 
322          }); 
323 
324          if (typeof promoPrice !== 'undefined') { 
325            promoPrice = document.getElementsByClassName("price"); 
326
327          else { 
328            promoPrice = document.getElementsByClassName("price"); 
329
330 
331          for (let i = 0; i < document.getElementsByClassName("price").length; i++) { 
332            let carrossel = document.getElementsByClassName("price"); 
333 
334            if(carrossel[i].children.length < 5) { 
335              if (carrossel[i].children[0]) { 
336                carrossel[i].children[0].innerText = "Por:" 
337
338              if (carrossel[i].children[1]) { 
339                carrossel[i].children[1].style.color = "#D2691E" 
340                carrossel[i].children[1].style.marginLeft = ".5rem" 
341
342               
343              carrossel[i].style.marginTop = "24px" 
344
345            else if (carrossel[i].children.length > 7){ 
346              if (carrossel[i].children[0]) { 
347                carrossel[i].children[0].innerHTML = "<del>De:</del>" 
348                carrossel[i].children[0].style.color = "#78849e" 
349
350               
351              if (carrossel[i].children[1]) { 
352                carrossel[i].children[1].classList.remove("price-value-inactive") 
353                let priceBefore = carrossel[i].children[1].innerText 
354                carrossel[i].children[1].innerHTML = '<del>'+priceBefore+'</del>' 
355                carrossel[i].children[1].style.color = "#78849e" 
356
357               
358              carrossel[i].children[2].style.display = "none" 
359              carrossel[i].children[3].style.display = "none" 
360              carrossel[i].children[4].innerText = "Por:" 
361              carrossel[i].children[5].style.display = "none" 
362              carrossel[i].children[6].style.display = "none" 
363              carrossel[i].children[7].style.color = "#D2691E" 
364              carrossel[i].children[7].style.marginLeft = ".5rem" 
365              carrossel[i].style.marginTop = "10px" 
366
367            else { 
368              if (carrossel[i].children[0]) { 
369                carrossel[i].children[0].innerHTML = "<del>De:</del>" 
370                carrossel[i].children[0].style.color = "#78849e" 
371
372              if (carrossel[i].children[1]) { 
373                carrossel[i].children[1].classList.remove("price-value-inactive") 
374                let priceBefore = carrossel[i].children[1].innerText 
375                carrossel[i].children[1].innerHTML = '<del>'+priceBefore+'</del>' 
376                carrossel[i].children[1].style.color = "#78849e" 
377
378               
379              carrossel[i].children[2].style.display = "none" 
380              carrossel[i].children[3].style.display = "none" 
381              carrossel[i].children[4].innerText = "Por:" 
382              carrossel[i].children[5].style.color = "#D2691E" 
383              carrossel[i].children[5].style.marginLeft = ".5rem" 
384              carrossel[i].style.marginTop = "10px" 
385
386
387 
388          const slider4 = document.getElementsByClassName("slider4"); 
389 
390          for (let i = 0; i < slider4.length; i++) { 
391              slider4[i].style.display ='block'; 
392
393 
394          $('.slider4.slider4semextracard').on('afterChange', function(event, slick, currentSlide) { 
395            if (slick.$slides.length - 1 == currentSlide) { 
396              $('.slider4.slider4semextracard .next-arrow').css('display', 'none'); 
397            }  
398            else { 
399              $('.slider4.slider4semextracard .next-arrow').css('display', 'flex'); 
400
401 
402            if (0 == currentSlide) { 
403              $('.slider4.slider4semextracard .prev-arrow').css('display', 'none'); 
404            }  
405            else { 
406              $('.slider4.slider4semextracard .prev-arrow').css('display', 'flex'); 
407
408          }); 
409 
410          if (typeof promoPrice !== 'undefined') { 
411              let promoPrice = document.getElementsByClassName("product-promo-price"); 
412
413          else{ 
414              promoPrice = document.getElementsByClassName("product-promo-price"); 
415
416 
417          if(promoPrice.length > 0){ 
418              const productPrice = document.getElementsByClassName(".price-value-final"); 
419              for (let i = 0; i < productPrice.length; i++) { 
420                  $(productPrice[i]).attr('data-content','Por: '); 
421
422          }else{ 
423              const valorCarrossel4 = document.getElementsByClassName("valorCarrossel4"); 
424              for (let i = 0; i < valorCarrossel4.length; i++) { 
425                  valorCarrossel4[i].style.marginTop='25px'; 
426              //    valorCarrossel4[i].style.marginBottom='17px'; 
427
428
429          
430    }, 2000); 
431    
432</script> 

eds-home-Arquitetura e Design De Interiores

Editor de produto

eds-home-Design Gráfico e Digital

Editor de produto

eds-titulo-VISUAL MERCHANDISING

Editor de produto

eds-titulo-Arte E Cultura

Editor de produto

Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> media.getTitle()  [in template "20102#20129#43698964" at line 24, column 64]

----
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: #if media.getURL()?has_content && med...  [in template "20102#20129#43698964" at line 24, column 29]
----
1<#setting locale="pt_BR"> 
2 
3<#assign assetentry = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
4<#assign assetCategoryRel = serviceLocator.findService("com.liferay.asset.entry.rel.service.AssetEntryAssetCategoryRelLocalService") /> 
5<#assign assetCategory = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
6<#assign contentHelper = serviceLocator.findService("com.liferay.commerce.product.content.util.CPContentHelper") /> 
7<#assign CPDefinitionHelper = serviceLocator.findService("com.liferay.commerce.product.util.CPDefinitionHelper") /> 
8<#assign friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")> 
9 
10<#assign userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService")> 
11<#assign warehouseService = serviceLocator.findService("com.liferay.commerce.inventory.service.CommerceInventoryWarehouseItemLocalService") /> 
12<#assign companyId =  userLocalService.getUser(themeDisplay.getUserId()).getCompanyId() /> 
13<#assign productService = serviceLocator.findService("br.senac.sp.editora.services.service.ProductService") /> 
14 
15<div class="slider4"> 
16    <#if entries?has_content> 
17        <#list entries as curCPCatalogEntry> 
18            <#if curCPCatalogEntry?counter < 12> 
19                <#assign friendlyURL = CPDefinitionHelper.getFriendlyURL(curCPCatalogEntry.getCPDefinitionId(),themeDisplay)> 
20                <div class="imgContainerEspecialCarrossel4"> 
21                    <a href="${friendlyURL}"> 
22                        <#assign cpMedia = contentHelper.getImages(curCPCatalogEntry.getCPDefinitionId(), themeDisplay) /> 
23                        <#list cpMedia as media> 
24                            <#if media.getURL()?has_content && media.getTitle()?contains("small")> 
25                                 <img src="${media.getURL()}"/> 
26                                 <#break> 
27                             </#if> 
28                        </#list> 
29                    </a> 
30                    <div class="informacoesProdutoCarrossel4"> 
31                      <a href="${friendlyURL}"> 
32                      <div class="infoSuperiores"> 
33                          <div class="tituloEspecialCarrossel4"> 
34                           ${curCPCatalogEntry.name?truncate(60, '...')} 
35                          </div> 
36                          <div class="autorEspecialCarrossel4">   
37                            <#list contentHelper.getCategorizedCPDefinitionSpecificationOptionValues(curCPCatalogEntry.getCPDefinitionId(),43620166) as specs>     
38                                <#if specs.CPSpecificationOptionId == 43594743> 
39                                    <#assign autor = specs.getValueCurrentValue() /> 
40                                        ${autor?truncate(45, '...')} 
41                                    <#break> 
42                                </#if> 
43                            </#list> 
44                          </div> 
45                      </div> 
46                      </a> 
47                      <div class="valorCarrossel4"> 
48                        <@liferay_commerce_ui["price"] 
49                            CPCatalogEntry=curCPCatalogEntry 
50                        /> 
51                    </div> 
52                    <div class="espiarCarrossel4"> 
53                      <#if productService.isAvailable( curCPCatalogEntry.getCPDefinitionId() ) > 
54                          <span class="comprarCarrossel4" data-sku="${curCPCatalogEntry.CPSkus[0].getSku()}"> 
55                             <#assign PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] /> 
56                             <#assign id = "add-to-cart" + PortalUtil.generateRandomKey(request, "add-to-cart") + "" + curCPCatalogEntry.CPSkus[0].getSku() /> 
57                             
58                            <#list curCPCatalogEntry.getCPSkus() as skus> 
59                              <@liferay_commerce_ui["add-to-cart"] 
60                      CPInstanceId=skus.getCPInstanceId() 
61                                        id=id 
62                    />                      
63                              </#list>                     
64                     
65             
66                                                         
67                          </span> 
68                      <#else> 
69                        <span class="comprarCarrossel4"> 
70                         <button class="btnIndisponivelEspecialCarrossel4" disabled>Livro Indisponível</button> 
71                        </span> 
72                      </#if> 
73                    </div> 
74                    </div> 
75                </div> 
76            <#elseif curCPCatalogEntry?counter == 12> 
77                <!-- Ver Mais --> 
78                <div class="customCart"> 
79                    <#assign asset = assetentry.getEntry('com.liferay.commerce.product.model.CPDefinition',entries[0].getCPDefinitionId())/> 
80                    <#assign relateds = assetCategoryRel.getAssetEntryAssetCategoryRelsByAssetEntryId(asset.getEntryId())/> 
81                    <#if (currentURL?contains("catalogo?"))> 
82                        <#assign category = assetCategory.getAssetCategory(relateds[0].assetCategoryId)/> 
83                    <#else> 
84                        <#if relateds?has_content> 
85                            <#assign category = assetCategory.getAssetCategory(relateds[1].assetCategoryId)/> 
86                        </#if>   
87                    </#if>   
88                     
89                    <#if category?has_content> 
90                        <!-- classId de Category --> 
91                        <#assign friendlyURL = friendlyURLEntryLocalService.getMainFriendlyURLEntry(20013, category.categoryId)> 
92                    <#else> 
93                        <#assign friendlyURL = ""> 
94                    </#if>   
95                    <div class="verMaisCard"> 
96                        <div class="verMaisCardContent"> 
97                            <i class="fas fa-books fa-2x"></i> 
98                            <div>    
99                            <div class="background-left2"><i class="fas fa-circle circulo auxCirc" aria-hidden="true"></i>&nbsp;</div> 
100                            </div> 
101                            <span class="text">Quer mais livros dessa área?</span> 
102                            <span class="ancora"> 
103                             <#if friendlyURL?has_content> 
104                                <#assign categoryUrl = themeDisplay.getURLPortal() + '/categoria/' + friendlyURL.getUrlTitle(locale)/> 
105                                <a class="ancora-aux" href="${categoryUrl}">Confira todos</a></a> 
106                            </#if> 
107                            <!-- --> 
108                            <#assign entryName = entry.name?lower_case> 
109                            <#assign entryNameFormatted = entryName?replace(' ', '-')> 
110                            </span> 
111                            <div>    
112                                <div class="background-right2">&nbsp;<i class="fas fa-circle circulo auxCirc" aria-hidden="true"></i></div> 
113                            </div> 
114                        </div> 
115                    </div> 
116                </div> 
117                <#break> 
118            </#if> 
119        </#list> 
120    </#if> 
121</div> 
122 
123<style> 
124   
125.comprarCarrossel4 { 
126  margin-top: 0px; 
127
128 
129.comprarCarrossel4  div.form-group { 
130  display: none; 
131}  
132    .slider4 { 
133        display: none; 
134
135    .informacoesProdutoCarrossel4 span.commerce-discount { 
136        display: none; 
137
138     
139    .comprarCarrossel4 .add-to-cart-quantity-marker.active { 
140        opacity: 0; 
141        display: none; 
142
143 
144    .comprarCarrossel4  form.quantity-selector { 
145        display: none; 
146
147 
148    .comprarCarrossel4 .add-to-cart button.btn-add-to-cart{ 
149        background-color: #5ACC75; 
150        border-radius: 4px; 
151        width: 206px; 
152        padding: 1px; 
153        justify-content: center;  
154        padding-left: 13%; 
155
156   
157  .comprarCarrossel4 span.price-value-final { 
158     color: #D2691E !important; 
159
160   
161  .comprarCarrossel4 .btnIndisponivelEspecialCarrossel4 { 
162      margin-top: 0.75rem !important; 
163
164   
165    .comprarCarrossel4 .add-to-cart button.btn-add-to-cart{ 
166      background-color: #5ACC75 !important; 
167
168  
169    .informacoesProdutoCarrossel4 .product-price { 
170        font: normal normal bold 16px/17px Montserrat; 
171
172     
173    .slick-dots { 
174      z-index: 2; 
175
176 
177    @media (max-width: 1200px) { 
178      	.slick-dots { 
179            width: 100vw !important; 
180
181
182     
183    @media (min-width: 1023px) { 
184        .slick-dotted.slick-slider { 
185             
186
187        .slider4 { 
188            width: 1093px !important; 
189
190
191     
192    @media (max-width: 813px) { 
193        .divEspiarCarrossel4 { 
194            margin-top: 30px !important; 
195
196         
197         
198        .divValorCarrossel4 { 
199            margin-top: 15px !important; 
200
201
202     
203    @media (max-width: 768px) { 
204        .slider2 .next-arrow { 
205            right: 18px; 
206
207         
208        .slider2 .prev-arrow { 
209            left: 18px; 
210
211         
212        .slider2 .slide-arrow .fa { 
213            font-size: 22px; 
214            font-weight: 400; 
215
216 
217        .slider4 .valorCarrossel4 { 
218          margin-top: 5px; 
219
220 
221        .slider4 .espiarCarrossel4 { 
222          position: relative; 
223          top: -10px; 
224
225 
226        .valorCarrossel4 .price:not(.compact) .price-value { 
227            font: normal 600 18px/17px Montserrat !important; 
228
229        .valorCarrossel4 { 
230            position: relative; 
231            z-index: 9999; 
232            display: flex; 
233            padding-top: 25px; 
234            align-items: flex-end; 
235
236        .valorCarrossel4 .price-value { 
237            margin-left: 0!important; 
238
239        .comprarCarrossel4 .btn-add-to-cart { 
240          margin: 0 !important; 
241          padding-top: 2px !important; 
242
243        .comprarCarrossel4 .btn-add-to-cart::before { 
244          font-size: 16px; 
245
246 
247        .valorCarrossel4:not(.slider4semextracard .valorCarrossel4) { 
248          margin-top: 0!important; 
249          padding-top: 0!important; 
250
251        .slider4 .informacoesProdutoCarrossel4:not(.slider4semextracard) { 
252          top: unset; 
253          bottom: 4%; 
254
255 
256
257     
258    @media (max-width: 600px) { 
259      .comprarCarrossel4 button.btn.btn-primary { 
260        padding-left: 1px; 
261        height: 30px; 
262
263 
264      .btn-add-to-cart-inline::before { 
265        font-size: 14px; 
266        width: 100%; 
267        text-align: center; 
268        display: block; 
269
270
271     
272    .slider4:not(.slider4semextracard) .informacoesProdutoCarrossel4 > a .divValorCarrossel4 { 
273        display: flex; 
274        align-items: flex-end; 
275
276     
277    .slider4:not(.slider4semextracard) .informacoesProdutoCarrossel4 > a .divValorCarrossel4 .price { 
278        order: 1; 
279        margin-top: 0!important; 
280        margin-right: 2px; 
281
282     
283    .slider4:not(.slider4semextracard) .informacoesProdutoCarrossel4 > a .divValorCarrossel4 .parceladoCarrossel4 { 
284        order: 2; 
285
286     
287    .slider4:not(.slider4semextracard) .informacoesProdutoCarrossel4 > a .divValorCarrossel4 .parceladoCarrossel4 + .price { 
288        margin-right: 5px; 
289
290     
291    .slider4:not(.slider4semextracard) .informacoesProdutoCarrossel4 > a .divValorCarrossel4 .product-price { 
292        order: 3; 
293        margin-top: 0; 
294
295     
296    @media (max-width: 414px){ 
297        .slider4 { 
298            width: 100vw !important; 
299            /* margin-right: 0; */ 
300            margin-right: 20px; 
301            margin-left: 20px; 
302
303
304</style> 
305   
306<script> 
307  setTimeout(function(){ 
308    $(document).ready(function() { 
309      $('.slider4').slick({ 
310        arrows: true, 
311        slidesToShow: 4, 
312        slidesToScroll: 4, 
313        dots:true, 
314        infinite: false, 
315        prevArrow: '<a href="#" class="slide-arrow prev-arrow"><i class="fa fa-chevron-left gray"></i></a>', 
316        nextArrow: '<a href="#" class="slide-arrow next-arrow"><i class="fa fa-chevron-right gray"></i></a>', 
317        speed: 1000,  
318        index: 2, 
319        lazyLoad: 'ondemand', 
320        focusOnSelect:false, 
321        accessibility:false, 
322        adaptiveHeight:false, 
323        autoplay:false, 
324        responsive: [{ 
325          breakpoint: 1200, 
326          settings: { 
327            slidesToShow: 4, 
328            slidesToScroll: 4, 
329            variableWidth: true, 
330            infinite: false, 
331            centerMode: false, 
332            dots:true, 
333            arrows: true 
334
335        }, { 
336          breakpoint: 768, 
337          settings: { 
338            slidesToShow: 1, 
339            slidesToScroll: 1, 
340            variableWidth: true, 
341            infinite: false, 
342            centerPadding: 0, 
343            centerMode: false, 
344            dots:false, 
345            arrows: true 
346
347        }] 
348      }); 
349 
350      sendViewItemList([<#list entries as curCPCatalogEntry>${curCPCatalogEntry.getCPDefinitionId()},</#list>]) 
351    }); 
352     
353    const slider4 = document.getElementsByClassName("slider4"); 
354    for (let i = 0; i < slider4.length; i++) { 
355      slider4[i].style.display ='block'; 
356
357     
358    if (typeof promoPrice !== 'undefined') { 
359        promoPrice = document.getElementsByClassName("price"); 
360
361      else { 
362        promoPrice = document.getElementsByClassName("price"); 
363
364   
365      for (let i = 0; i < document.getElementsByClassName("price").length; i++) { 
366        let carrossel = document.getElementsByClassName("price"); 
367        if(carrossel[i].children.length < 5) { 
368          if(carrossel[i].children[0]) 
369            carrossel[i].children[0].innerText = "Por:" 
370 
371          if(carrossel[i].children[1]) { 
372            carrossel[i].children[1].style.color = "#F6921E" 
373            carrossel[i].children[1].style.marginLeft = ".5rem" 
374
375          carrossel[i].style.marginTop = "24px" 
376
377        else if (carrossel[i].children.length > 7){ 
378          carrossel[i].children[0].innerHTML = "<del>De:</del>" 
379          carrossel[i].children[0].style.color = "#78849e" 
380          carrossel[i].children[1].classList.remove("price-value-inactive") 
381          let priceBefore = carrossel[i].children[1].innerText 
382          carrossel[i].children[1].innerHTML = '<del>'+priceBefore+'</del>' 
383          carrossel[i].children[1].style.color = "#78849e" 
384                   
385          carrossel[i].children[2].style.display = "none" 
386          carrossel[i].children[3].style.display = "none" 
387          carrossel[i].children[4].innerText = "Por:" 
388          carrossel[i].children[5].style.display = "none" 
389          carrossel[i].children[6].style.display = "none" 
390          carrossel[i].children[7].style.color = "#F6921E" 
391          carrossel[i].children[7].style.marginLeft = ".5rem" 
392          carrossel[i].style.marginTop = "10px" 
393
394        else { 
395          carrossel[i].children[0].innerHTML = "<del>De:</del>" 
396          carrossel[i].children[0].style.color = "#78849e" 
397          carrossel[i].children[1].classList.remove("price-value-inactive") 
398          let priceBefore = carrossel[i].children[1].innerText 
399          carrossel[i].children[1].innerHTML = '<del>'+priceBefore+'</del>' 
400          carrossel[i].children[1].style.color = "#78849e" 
401          carrossel[i].children[2].style.display = "none" 
402          carrossel[i].children[3].style.display = "none" 
403          carrossel[i].children[4].innerText = "Por:" 
404          carrossel[i].children[5].style.color = "#F6921E" 
405          carrossel[i].children[5].style.marginLeft = ".5rem" 
406          carrossel[i].style.marginTop = "10px" 
407
408
409  }, 1500); 
410   
411   
412   
413</script> 

eds-titulo-Fotografia

Editor de produto

eds-titulo-Desenho-e-animacao

Editor de produto

Ziraldo em cartaz
Listar preço R$ 100,00
Ilustração digital
Carolina Vigna
Listar preço R$ 79,00
O Guia Completo da Cor
Tom Fraser, Adam Banks
Listar preço R$ 199,00

eds-titulo-Paisagismo e Jardinagem

Editor de produto

eds-newsletter

QUER FICAR POR DENTRO DE PROMOÇÕES E NOVIDADES?