Les observeurs sont un élément puissant du système d'événements de Magento 2, permettant aux développeurs d'insérer du code personnalisé lorsqu'un certain événement se produit dans l'application. Dans ce tutoriel Magento 2, nous allons créer un observeur qui écoute l'événement déclenché lorsqu'un produit est ajouté au panier. Plus précisément, nous allons appliquer une réduction de 10 % au produit ajouté.
A l’aide du tutoriel “Créer un module Magento 2”, créez votre module Gone/AddToCartObserver dans le répertoire app/code.
Dans votre nouveau module, créez un fichier events.xml dans le dossier etc/frontend (si vous voulez que cet observeur fonctionne uniquement sur la partie front-end).
Insérez ce code dans events.xml :
<?xml version="1.0"?><config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd"><event name="checkout_cart_product_add_after"><observer name="my_observer" instance="Gone\AddToCartObserver\Observer\AddProduct" /></event></config>
Dans votre module, créez un dossier Observer et à l'intérieur un fichier AddProduct.php.
Placez ce code dans AddProduct.php :
<?phpnamespace Gone\AddToCartObserver\Observer;use Magento\Framework\Event\ObserverInterface;class AddProduct implements ObserverInterface{public function execute(\Magento\Framework\Event\Observer $observer){$item = $observer->getEvent()->getData('quote_item');$item = ($item->getParentItem() ? $item->getParentItem() : $item);// Ici, vous pouvez exécuter votre code personnalisé. Par exemple :$prix = $item->getPrice();$newPrice = $prix * 0.9; // Appliquer une réduction de 10%$item->setCustomPrice($newPrice);$item->setOriginalCustomPrice($newPrice);$item->getProduct()->setIsSuperMode(true);}}
Activez votre module et nettoyez le cache :
php bin/magento setup:upgradephp bin/magento cache:flush
Ajoutez un produit au panier et vérifiez que la réduction de 10 % est bien appliquée.
Notre agence Magento vous accompagne tout au long de votre projet e-commerce : n'attendez plus !
Vous souhaitez aller plus loin par vous-même ? Découvrez nos formations Magento pour mieux appréhender le CMS !
Si vous êtes équipé de Magento 2.3 et +, alors ce tutoriel est fait pour vous : apprenez à ajouter une table en BDD !
Retrouvez nos tutoriels sous Magento 1
Créer un module sous Magento 2, c'est la base pour la suite ! Découvrez sans plus attendre comment faire.
Vous souhaitez créer un controller sous Magento 2 ? En 4 étapes seulement, nous vous montrons comment faire facilement !
Nous vous aidons à créer votre propre thème personnalisé sous Magento 2 en quelques étapes seulement. Découvrez notre tuto !
Nous vous aidons à mettre en place, en quelques étapes, la traduction sur l'ensemble de votre site dans la langue que vous souhaitez.
Nous vous aidons à créer vos propres blocs sur Magento 2 : découvrez le tutoriel !
Nous vous aidons à surcharger un template sur votre CMS de prédilection, et ce en 5 étapes seulement.
Nous vous aidons à mettre en place différents éléments essentiels à la personnalisation de votre site Magento 2.
Vous souhaitez créer votre propre plugin sur Magento 2 ? Pas de soucis : on vous aide à le mettre en place !
Découvrez comment créer une interface d'administration fonctionnelle sur Magento 2 en 6 étapes.
Découvrez comment créer une méthode de livraison personnalisée sous Magento 2 en quelques étapes seulement, et simplifiez la vie de vos utilisateurs !
Découvrez comment gérer vos configurations personnalisées sur Magento 2 en quelques étapes seulement.
Téléchargez notre livre blanc SEO !