Je reçois le panier d'achat en utilisant:
$cart = Mage::getSingleton('checkout/session')->getQuote();
Et puis itérer à travers elle en utilisant:
foreach ($cart->getAllItems() as $item) { }
Mais il semble renvoyer des articles en double avec les mêmes références, mais des identifiants de produits différents! Sur le site principal, cependant, lorsque j'ouvre le panier, il montre le produit unique.
cart: {
id: 680,
items: [
{
name: "Tori Tank",
price: "60.0000",
id: "418",
sku: "wbk004"
},
{
name: "Tori Tank",
price: "60.0000",
id: "286",
sku: "wbk004"
}
]
}
Ma question est .. Pourquoi cela se produit-il? Le produit parent (configurable) ne devrait-il pas montrer son propre Sku unique?
De plus, si je veux ajouter un produit au panier, dois-je ajouter le produit configurable? Ou dois-je ajouter le produit simple et Magento s'occupe du reste?
la source
Utilisez
$cart->getAllVisibleItems()
au lieu de$cart->getAllItems()
.Vous obtenez des doublons car lors de l'ajout d'un produit configurable au panier, magento ajoute en fait 2 produits, le produit simple et le produit configurable mais un seul est visible pour l'utilisateur.
la source
la source