Estou recebendo o carrinho de compras usando:
$cart = Mage::getSingleton('checkout/session')->getQuote();
E então iterando através dele usando:
foreach ($cart->getAllItems() as $item) { }
Mas parece estar retornando itens duplicados com os mesmos SKUs, mas com IDs de produtos diferentes! No site principal, quando abro o carrinho, ele mostra o único produto.
cart: {
id: 680,
items: [
{
name: "Tori Tank",
price: "60.0000",
id: "418",
sku: "wbk004"
},
{
name: "Tori Tank",
price: "60.0000",
id: "286",
sku: "wbk004"
}
]
}
Minha pergunta é .. Por que isso está acontecendo? O produto pai (configurável) não deveria mostrar seu próprio Sku exclusivo?
Além disso, se eu quiser adicionar um produto ao carrinho, devo adicionar o produto configurável? Ou adiciono o produto simples e o Magento lida com o resto?
Use em
$cart->getAllVisibleItems()
vez de$cart->getAllItems()
.Você recebe duplicatas porque, ao adicionar um produto configurável ao carrinho, o magento adiciona 2 produtos, o produto simples e o produto configurável, mas apenas um é visível para o usuário.
fonte
fonte