Nous contacter

Créer un plugin sur Magento 2

SE FAIRE ACCOMPAGNER D'EXPERTS CERTIFIÉS
Créer un moduleIdentifier la classeDéclarer le pluginFichier du pluginNettoyer le cacheTester le plugin

Les plugins dans Magento 2 permettent de modifier le comportement des classes publiques en interceptant des méthodes et en exécutant du code avant, après ou autour de ces méthodes. Voici donc le tutoriel Magento 2 qui vous permettra de mettre en place un plugin !

plugins magento 2

Étape 1: Créez un module

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

CRÉER UN MODULE MAGENTO 2

Étape 2: Identifiez la classe et la méthode à intercepter

Supposons que vous souhaitez intercepter la méthode getPrice de la classe Magento\Catalog\Model\Product.

Étape 3: Déclarez le Plugin

Dans votre module, créez ou ouvrez le fichier di.xml dans le dossier etc.

Ajoutez le code suivant :

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Catalog\Model\Product">
<plugin name="mon_plugin_prix" type="Gone\MonPlugin\Plugin\Product" sortOrder="1"/>
</type>
</config>

Étape 4: Créez le fichier de plugin

Dans app/code/Gone/MyPlugin/Plugin, créez un fichier appelé Product.php.

Méthode before

La méthode before vous permet de modifier les arguments qui seront passés à la méthode originale.

<?php
namespace Gone\MyModule\Plugin;
class Product
{
public function beforeGetPrice(\Magento\Catalog\Model\Product $subject)
{
$originalPrice = $subject->getData('price');
return [$originalPrice * 0.9]; // Applique une réduction de 10%
}
}

Méthode after

La méthode after vous permet de modifier le résultat retourné par la méthode originale.

public function afterGetPrice(\Magento\Catalog\Model\Product $subject, $result)
{
return $result + 10; // Ajoute 10 au prix original
}

Méthode around

La méthode around permet de faire des actions avant et après la méthode originale. Elle peut aussi éviter l'appel de la méthode originale.

public function aroundGetPrice(\Magento\Catalog\Model\Product $subject, callable $proceed)
{
$originalPrice = $subject->getData('price');
$discountedPrice = $originalPrice * 0.9; // Applique une réduction de 10%
$subject->setData('price', $discountedPrice);
// Exécute la méthode originale et stocke le résultat
$result = $proceed();
// Après avoir exécuté la méthode originale, vous pouvez ajouter d'autres logiques
return $result + 5; // Ajoute 5€ au prix
}

Après avoir ajouté ces fichiers, nettoyez le cache de Magento :

php bin/magento cache:clean

Étape 6: Testez votre plugin

Maintenant, quand la méthode getPrice de la classe Magento\Catalog\Model\Product sera appelée (fiche produit, panier …), votre plugin interviendra selon les méthodes before, after et around que vous avez définies.

Et voilà, vous avez créé un plugin dans Magento 2 ! Vous pouvez utiliser les méthodes before, after, et around pour influencer le comportement des classes de différentes manières. Notez que vous pouvez utiliser toutes ces méthodes dans un seul plugin, mais faites attention aux interactions entre elles. Pour toute question sur le sujet, n'hésitez pas à suivre une de nos formations à Magento 2 ou à prendre contact avec notre agence Magento !

Découvrez nos autres 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.

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 un observeur sur Magento 2 : découvrez comment faire
9/20/2023

Créer un observeur sur Magento 2 : découvrez comment faire

Puissants systèmes d'événements sur Magento 2, découvrez comment créer et mettre en place un observeur !

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 !