Nous contacter

Créer un observeur Magento 2

SE FAIRE ACCOMPAGNER D'EXPERTS CERTIFIÉS
Créer un moduleDéclarer l'observeurCréer la classeActiver le moduleTester l'observeur

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é.

Étape 1 : Créer un module

A l’aide du tutoriel “Créer un module Magento 2”, créez votre module Gone/AddToCartObserver dans le répertoire app/code.

VOIR LE TUTO CRÉATION DE MODULE

Étape 2 : Déclarez l'observeur

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>

Étape 3 : Créez la classe de l'observeur

Dans votre module, créez un dossier Observer et à l'intérieur un fichier AddProduct.php.

Placez ce code dans AddProduct.php :

<?php
namespace 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);
}
}

Étape 4 : Activez le module et nettoyez le cache

Activez votre module et nettoyez le cache :

php bin/magento setup:upgrade
php bin/magento cache:flush

Étape 5 : Testez votre observeur

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 !

Découvrez tous nos tutoriels Magento 2 :

Comment ajouter une table en base de données sur Magento 2 ?
9/20/2023

Comment ajouter une table en base de données sur Magento 2 ?

Si vous êtes équipé de Magento 2.3 et +, alors ce tutoriel est fait pour vous : apprenez à ajouter une table en BDD !

410 Gone vous offre quelques tutoriels afin de bien débuter avec Magento ; retrouvez les tous ici !
9/20/2023

410 Gone vous offre quelques tutoriels afin de bien débuter avec Magento ; retrouvez les tous ici !

Retrouvez nos tutoriels sous Magento 1

Créer un module Magento 2 : notre tutoriel
9/20/2023

Créer un module Magento 2 : notre tutoriel

Créer un module sous Magento 2, c'est la base pour la suite ! Découvrez sans plus attendre comment faire.

Créer un controller sous Magento 2 : notre tuto pas à pas
9/20/2023

Créer un controller sous Magento 2 : notre tuto pas à pas

Vous souhaitez créer un controller sous Magento 2 ? En 4 étapes seulement, nous vous montrons comment faire facilement !

Thème personnalisé sous Magento 2 : créez le vôtre rapidement !
9/20/2023

Thème personnalisé sous Magento 2 : créez le vôtre rapidement !

Nous vous aidons à créer votre propre thème personnalisé sous Magento 2 en quelques étapes seulement. Découvrez notre tuto !

Mise en place de la traduction sur Magento 2 : comment faire ?
9/20/2023

Mise en place de la traduction sur Magento 2 : comment faire ?

Nous vous aidons à mettre en place, en quelques étapes, la traduction sur l'ensemble de votre site dans la langue que vous souhaitez.

Créer un bloc sur Magento 2 : découvrez la marche à suivre
9/20/2023

Créer un bloc sur Magento 2 : découvrez la marche à suivre

Nous vous aidons à créer vos propres blocs sur Magento 2 : découvrez le tutoriel !

Surcharger un template sur Magento 2 : comment faire ?
9/20/2023

Surcharger un template sur Magento 2 : comment faire ?

Nous vous aidons à surcharger un template sur votre CMS de prédilection, et ce en 5 étapes seulement.

Tutoriels Magento 2 : 410 vous accompagne sur le CMS e-commerce !
9/20/2023

Tutoriels Magento 2 : 410 vous accompagne sur le CMS e-commerce !

Nous vous aidons à mettre en place différents éléments essentiels à la personnalisation de votre site Magento 2.

Créer un plugin sur Magento 2 en 6 étapes : découvrez la marche à suivre !
9/20/2023

Créer un plugin sur Magento 2 en 6 étapes : découvrez la marche à suivre !

Vous souhaitez créer votre propre plugin sur Magento 2 ? Pas de soucis : on vous aide à le mettre en place !

Interface d'administration sur Magento 2 : comment en créer une ?
9/20/2023

Interface d'administration sur Magento 2 : comment en créer une ?

Découvrez comment créer une interface d'administration fonctionnelle sur Magento 2 en 6 étapes.

Créer une méthode de livraison personnalisée sur Magento 2 : notre tuto
9/20/2023

Créer une méthode de livraison personnalisée sur Magento 2 : notre tuto

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 !

Magento 2 : comment ajouter et récupérer une configuration personnalisée ?
9/20/2023

Magento 2 : comment ajouter et récupérer une configuration personnalisée ?

Découvrez comment gérer vos configurations personnalisées sur Magento 2 en quelques étapes seulement.

Livre

Découvrez les best practices en SEO

Téléchargez notre livre blanc SEO !