Freelance Magento Toulouse – Entrepreneur
Dans: Magento
2 mar 2010Pour accéder aux produits se trouvant dans la panier, Magento propose une collection d’objet qui facilite l’accès aux informations.
Edit :
<?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()) ?>
?>
<?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();
?>
<?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();
?>
$_cart_products = Mage::getModel("checkout/cart")->getItems();
foreach($_cart_products as $_cart_product)
{
// Traitement de chaque produit du panier
}
$id = Mage::getModel('catalog/product')->getIdBySku("product_sku");
$cart = Mage::getModel("checkout/cart");
$cart->addProductsByIds(array($id));
$cart->save();
$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();
}
}
<?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 ]
Je m'appelle Frédéric Martinez.
Je suis Freelance Magento et anciennement étudiant en Master MIAGE à Toulouse.
Ce site présente mon CV ainsi que mes réalisations professionnelles, personnelles et universitaires.
14 Commentaires pour Jouer avec le panier de Magento
David
avril 3rd, 2011 à 19 h 39 min
Bonjour.
J’aurais une colle :
comment ajouter des colonnes au panier ? PAr exemple, une colonne avec la remise du produit, une colonne avec le prix non remisé.
Yohan
avril 5th, 2011 à 13 h 23 min
Bonjour David,
Pour ajouter des colonnes dans la table de votre panier, il faut aller dans le template situé à :
-> app/design/base (ou default suivant l’arborescence de votre site)/default/template/checkout/default.phtml
Il vous suffira de jouer avec l’html et d’appeler les attributs produits que vous souhaitez.
Yohan
avril 5th, 2011 à 16 h 22 min
L’arborescence étant incomplète, voici une petite correction :
-> app/design/base/default/template/checkout/cart/item/default.phtml
Frédéric Martinez
avril 6th, 2011 à 11 h 48 min
Plus précisément : app/design/{votre_interface}/{votre_theme}/template/checkout/cart/item/default.phtml pour la surcharge du core.
Ensuite il faut ajouter le titre de la colonne ainsi que son contenu dans default.phtml.
Tous les attributs de l’article ne sont pas chargés par défaut dans le listing panier.
Chris
mai 12th, 2011 à 14 h 58 min
Bonjour,
Un simple lien vers le panier serait sous la forme checkout/cart ou echo $this->getUrl(), etc..
steve
mai 16th, 2011 à 0 h 07 min
Bonjour,
Est-il possible de cacher l’onglet « panier » ou « comparer des produits » sur la page d’accueil s’il n’y a rien dessus ?
Merci,
(Magento v1.5.1)
CCC
août 25th, 2011 à 13 h 08 min
Bonjour,
Je n’arrive pas à trouver comment modifier une quantité ? je cherche à augmenter une quantité déclenché par un attribut …
Peut on le faire sans modifier le core ?
Merci !
Variables et conditions utiles sous Magento - Frédéric MARTINEZ - Freelance MAGENTO
décembre 13th, 2011 à 17 h 03 min
[...] Jouer avec le panier de Magento [...]
Jordan
janvier 4th, 2012 à 17 h 57 min
Bonjour,
J’aimerai savoir la procédure à suivre pour afficher dans la panier :
« Il vous reste X jours(Heures) avant que votre panier ce vide »
Est-ce possible ? Comment faire ?
Merci beaucoup .
Frédéric Martinez
janvier 4th, 2012 à 19 h 45 min
@steve : possible en layout XML avec des conditions. Cependant, il est plus aisé de supprimer les toplinks et de les recréer à la main avec un template personnalisé
@CCC : Il faut se cabler sur l’event juste avant que le produit s’ajoute au panier, et ainsi modifier la quantité
@Jordan : Je pense qu’il faudrait chercher du côté de la session du panier : getSingleton(‘checkout/session’) et le comparer à la durée de validité d’un panier en back-office (en jour par contre). Il doit aussi exister une extension pour gérer plus finement ce temps de panier. (Ex : Moulin Rouge > Panier qui se vide au bout de 20min)
Jordan
janvier 4th, 2012 à 20 h 19 min
Ok merci, connaîtrais tu le nom de la session du panier par défaut par hasard ? :p
Jordan
janvier 4th, 2012 à 20 h 19 min
du moins pour récupéré le temps
Frédéric Martinez
janvier 4th, 2012 à 20 h 22 min
De tête non, mais je pense que checkout/session, ça doit être bon :)
alexandre
février 3rd, 2012 à 19 h 50 min
Merci, c’est exactement ce dont j’avais besoin !