No computador, quando se coloca o mouse sobre o “Carrinho” abre um resumo do que tem no carrinho. Mesmo tendo 2 produtos de cada, no carrinho aparece o valor de apenas 1, e o valor total do carrinho aparece certo. Fica muito estranho! Não tem como fazer os itens no carrinho aparecerem com o valor final, considerando a quantidade de cada item?
Na imagem anexada tem um exemplo de um carrinho com 2 itens, com 2 produtos de cada. Esquisito!
Bom dia! Na verdade, está correto.
A modal do carrinho é para funcionar exatamente assim! No caso o valor mostrado depois do item, representa o valor da unidade. Já o valor destacado, representa toda a quantidade adicionada, sendo ele, o valor total.
Então, esse “modal do carrinho”, é simplesmente um resumo da compra, assim, o cliente consegue ter uma referência de quanto está gastando. Para um carrinho mais detalhado, o cliente deve acessar o próprio carrinho (se quiser consegue colocar a quantidade de produtos, agora não tem como mudar o valor total).
mudando a função da LI, é possível informar a quantidade e o total da quantidade, que ficará uma informação, ao meu ver, mais coerente.
Assim ficaria show.
Só teria de manter o somatório total do carrinho.
sim, vi isso, mas eu nao fiz nada e já não aparece aqui, mas agora está aparecendo novamente
deixando mais compacto.
Blz.
Mas este teu código não faz a multiplicação da quantidade pelo valor unitário, nem faz informar a quantidade, como aparece na imagem que apresentaste.
Qual o código para fazer o que tu apresentou na última imagem?
Obrigado, Leo!
Código Completo!
<style>
.carrinho-interno .imagem-produto {
width: 60px;
height: 60px;
}
.carrinho-interno li {
padding: 0 10px;
}
</style>
<script>
$(function(){
window.atualizarCarrinhoAsync = function (e) {
CARRINHO_PRODS = [];
if (e && e.items && e.items.length && $(".minicart-placeholder").length) {
qtd_prods_carrinho = e.items.length;
var I = $(".minicart-placeholder:first").clone()
, R = I.find(".carrinho-interno");
R.html(R.html().replace(/--CARRINHO_QUANTIDADE--/g, e.items.length).replace(/--CARRINHO_TOTAL_ITENS--/g, formataFloatToBRL(e.totals.items)).replace(/produto no carrinho/g, 1 < e.items.length ? "produtos no carrinho" : "produto no carrinho"));
R = I.find(".carrinho-interno .minicart-item-modelo");
for (i = 0; i < qtd_prods_carrinho; i++) {
var d = e.items[i];
CARRINHO_PRODS.push(d.id);
d.parentId && CARRINHO_PRODS.push(d.parentId);
var r = R.clone();
r.html(r.html().replace(/--PRODUTO_PRECO_DE--/g, formataFloatToBRL(d.quantity * d.price.listPrice)).replace(/--PRODUTO_PRECO_POR--/g, formataFloatToBRL(d.quantity * d.price.sellingPrice)).replace(/data-href="--PRODUTO_URL--"/g, 'href="' + d.url + '"').replace(/--PRODUTO_IMAGEM--/g, d.images[0] && d.images[0].path || "img/produto-sem-imagem.gif").replace(/--PRODUTO_NOME--/g, d.name + ' - (Qtd: ' + d.quantity +')').replace(/--PRODUTO_SKU--/g, d.sku)).removeClass("minicart-item-modelo");
0 < r.find(".imagem-produto img").attr("data-src").indexOf("produto-sem-imagem") ? r.find(".imagem-produto img").attr("src", r.find(".imagem-produto img").attr("data-src").replace("/64x64/", "/production/static/")) : r.find(".imagem-produto img").attr("src", r.find(".imagem-produto img").attr("data-src"));
d.price.promotionalPrice || (r.find(".preco-produto .preco-venda").remove(),
r.find(".preco-produto .preco-promocional").addClass("titulo"));
I.find(".carrinho-interno > ul").append(r)
}
R.remove();
$(".carrinho-interno-ajax:first").html(I.find(".carrinho-interno"));
$(".carrinho-interno-ajax:not(:first)").html($(".carrinho-interno-ajax:first").html())
} else
qtd_prods_carrinho = 0;
atualizarCarrinhoBarra();
produtosCarrinho()
}
carregarMinicart(true)
})
</script>
Obrigado, Leonardo.
Não sei o que posso ter feito errado. Colei o código inteiro, como você postou, no CSS mas não funcionou, não mudou nada.
boa noite,
o código do @Leonardo_Vicentini_F tem que ser inserido em HTML.
Perfeito!
Agora funcionou!
Obrigado!