Carrinho Dropdown com Lista de Produtos.
<div class="tpl-cart tpl-cart-dropdown">
<a href="/Site/Carrinho.aspx" class="cart-link">
<span class="cart-title">Meu Carrinho</span>
<span class="cart-summary clearfix">
<span class="amount-items"></span>
<span class="total-price-container"></span>
</span>
</a>
<div class="cart-dropdown"></div>
</div>
jQuery.vtex_quick_cart();
O carrinho tem opções para apresentar apenas informações básicas, como quantidade de produtos e valor total do carrinho sem o dropdown.
Carrinho sem o dropdown, ideal para páginas simples.*
var options = {
dropdown: false
}
jQuery.vtex_quick_cart(options);
ou
jQuery.vtex_quick_cart({
dropdown: false
});
Não se esqueça que o css (stylesheet) é com você. Afinal, cada loja tem seu próprio design.
Existem várias opções para montagem do quick cart, várias delas podem melhorar o desempenho e uma melhor customização do produto final.
var options = {
container: ".cart-dropdown",
items: ".amount-items",
list: ".cart-list",
price_label: "R$ ",
total_price_currency: "R$ ",
total_price_container: ".total-price-container",
total_price_label: "",
cart_conclude:null,
remove_btn:false,
finish_order_btn: ".finish-order-btn",
finish_order_btn_link: "/Site/Carrinho.aspx",
finish_order_btn_text: "Finalizar compra",
items_text: ['nenhum item','item','itens'],
hover: ".tpl-cart",
callback:null,
cart_empty_cb:null,
total_price_class: '.total-price',
total_price_label_class: '.total-price-label',
dropdown: true,
show_images: true
}
O Vtex quick cart ainda apresenta a opção de recarregá-lo para mostragem de produtos se necessário.
Este tipo de opção é utilizado quando a página apresenta recursos de adição de produtos com um clique simples (add to cart).
Ao final de cada "add to cart", pode-se fazer uma chamada, resultando em um carrinho atualizado.
Carregue o carrinho em uma variável. O seu funcionamento será normal, porém com a opção do método "refresh".
var meu_carrinho = jQuery.vtex_quick_cart();
meu_carrinho.refresh();
Execute a lógica do seu "add to cart" normalmente, e ao final, execute meu_carrinho.refresh() para que o carrinho recarregue e mostre o produto adicionado.
Não há nada de especial no código para esta funcionalidade, apenas um pequeno truque.
Contrua sua barra flutuante normalmente, com o css "position:fixed;" e "display:none;"
Utilize o jQuery para detectar o scroll da janela como é feito normalmente para a barra flutuante, mas adicione uma modificação no div do dropdown para ficar com "position:fixed;" e qualquer outra característica necessária para o seu layout.
Minha sugestão é a adição de uma classe que já contenha todas características para este posicionamento.
jQuery(window).scroll(function(){
// contrua a lógica que melhor aplica a sua loja
// if(jQuery(this).scrollTop() > x)
// montrando barra "fade in"
// adicionando classe para manter o
// dropdown fixed e em posição, top, etc.
// if(jQuery(this).scrollTop() <= x)
// esconda barra "fade out"
// remova classe que mantem o dropdown
// em posição.
});
Obs. 1: Utilize a opção simplificada quando achar que não é necessário a mostragem dos produtos do carrinho, evitando o carregamento da lista e melhorando desempenho do quick cart.
Obs. 2: A utilização em barra flutuante depende do programador de front-end configurar o que é melhor para a loja na qual ele está trabalhando