Jouer avec le panier de Magento

Dans: Magento

2 mar 2010

Pour accéder aux produits se trouvant dans la panier, Magento propose une collection d’objet qui facilite l’accès aux informations.

  1. Récupérer le montant total du panier
  2. Récupérer le nombre d’articles différents du panier
  3. Récupérer le nombre d’articles au total du panier
  4. Parcourir tous les articles du panier
  5. Ajouter un article au panier
  6. Enlever un article du panier
  7. Ajouter un lien « Ajouter au panier »

Edit :

  • 06/07/10 : Récupérer le nombre d’articles au total du panier

Etape 1 : Récupérer le montant total du panier

<?php
// Affiche le montant total du panier brut (Affiche : 20.0000)
<?php echo Mage::getSingleton('checkout/cart')->getQuote()->getGrandTotal() ?>

// Affiche le montant total du panier formaté (Affiche : 20,00€)
<?php echo $this->helper('checkout')->formatPrice(Mage::getSingleton('checkout/cart')->getQuote()->getGrandTotal()) ?>
?>

Etape 2 : Récupérer le nombre d’articles différents du panier

<?php // Affiche le nombre d'articles différents du panier (Exemple : 4 cartes mémoires et 3 bouteilles de vin => 2)
echo Mage::helper('checkout/cart')->getCart()->getItemsCount();
?>

Etape 3 : Récupérer le nombre d’articles au total du panier

<?php // Affiche le nombre d'articles dans le panier (Exemple : 4 cartes mémoires et 3 bouteilles de vin => 7)
echo Mage::helper('checkout/cart')->getCart()->getItemsQty();
?>

Etape 4 : Parcourir tous les articles du panier

$_cart_products = Mage::getModel("checkout/cart")->getItems();
foreach($_cart_products as $_cart_product)
{
    // Traitement de chaque produit du panier
}

Etape 5 : Ajouter un article au panier


$id = Mage::getModel('catalog/product')->getIdBySku("product_sku");
$cart = Mage::getModel("checkout/cart");
$cart->addProductsByIds(array($id));
$cart->save();

Etape 6 : Enlever un article du panier


$cart = Mage::getModel("checkout/cart");
$id = Mage::getModel('catalog/product')->getIdBySku("product_sku");

$items = $cart->getItems();
foreach($items as $item)
{
    if($item->getProduct()->getId() == $id)
    {
        $itemId = $item->getItemId();
        $cart->removeItem($itemId)->save();
    }
}

Etape 7 – Ajouter un lien « Ajouter au panier »


<?php echo Mage::getUrl('checkout/cart/add', array('product' => $_product->entity_id,'qty' => 1)) ; ?>

[Etape 5 et 6 - Source : le très bon article de Stéphane Brun pour l'ajout/suppresion de produits dans le panier ]

  1. Récupérer le nombre d’articles différents du le panier

Formulaire pour Commenter

Bienvenue sur mon Site CV

Je m'appelle Frédéric Martinez.

Je suis étudiant en Master MIAGE à Toulouse et Freelance Magento.

Ce site présente mon CV ainsi que mes réalisations professionnelles, personnelles et universitaires.

rss_32 twitter_32