Guide pour créer un module dans Magento 2

Publié: 2015-11-20

Vous cherchez le moyen de créer un module dans Magento 2 ? Aujourd'hui, nous allons vous expliquer comment créer un module dans Magento 2. Nous espérons que vous les apprécierez et que vous les utiliserez facilement !

Créer un module flexible est très difficile, mais nous avons un tutoriel simple sur la création d'un module simple dans Magento 2. J'espère que ce tutoriel pourra vous aider dans un premier temps. Avant de créer le module , il est nécessaire de comprendre les différences de structure de répertoires entre les deux versions de Magento. Dans la structure de répertoires de Magento 2, les pools de code sont supprimés de la structure de fichiers de base de code. Désormais, tous les modules sont regroupés par fournisseur. Par conséquent, nous pouvons créer des modules directement dans le répertoire app/code.

Dernière mise à jour : Nous venons de publier la version 2.0 du thème Claue Multipurpose Magento 2, avec de nombreuses améliorations de performances et des fonctionnalités exclusives. Découvrez ce thème maintenant : Thème Claue Magento 2. 0

claue2_edited (1)

Démo en direct

Claue - Clean, Minimal Magento 2 & 1 Theme est un excellent modèle pour une boutique de commerce électronique moderne et propre avec plus de 40 mises en page de page d'accueil et des tonnes d'options pour les mises en page de magasin, de blog, de portefeuille, de localisateur de magasin et d'autres pages utiles. La version 2. 0 de Claue est livrée avec un tas de fonctionnalités exclusives, notamment :

  • Être basé sur le thème Luma.
  • Répondre à toutes les normes du thème Magento
  • Amélioration significative des performances
  • Compatible avec la plupart des extensions tierces.
  • Entièrement compatible avec Magento 2.4.x

Cette deuxième version avancée se différencie complètement de la précédente. Ainsi, si vous utilisez la version 1 de Claue et que vous souhaitez mettre à jour vers la version 2 de Claue, vous ne pouvez que reconstruire un nouveau site Web plutôt que de mettre à jour à partir de l'ancienne version. Maintenant, revenons au sujet principal.

Différences entre Magento1.0 et Magento2.0

Il existe quelques différences fondamentales entre Magento 1.0 et Magento 2.0 afin que vous puissiez facilement visualiser la structure des dossiers dans Magento 2.0. Ainsi, créer un module simple dans Magento 2.0 est un jeu d'enfant.

Guide pour créer un module dans Magento 2

Créer un module dans Magento2

Étape 1 : Créer des fichiers de configuration.

– Créez le fichier : app/code/Tutorial/Example/etc/module.xml (Objectif : Ce fichier déclarera votre module) et insérez-y le code suivant :

  1. < ? version xml = "1.0" ?>
  2. <config xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "..
  3. /../../../../lib/internal/Magento/Framework/Module/etc/module.xsd » >
  4. < nom du module = "Tutorial_Example" setup_version = "1.0.0" >
  5. </module>
  6. </config>

– Créer un fichier : app/code/Tutorial/Example/etc/frontend/routes.xml (But: Le routeur de votre module pour le frontend sera déclaré ici) :

  1. < ? version xml = "1.0" ?>
  2. <config xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "..
  3. /../../../../../lib/internal/Magento/Framework/App/etc/routes.xsd » >
  4. < identifiant du routeur = "standard" >
  5. < ID de route = "exemple" frontName = "exemple" >
  6. < nom du module = "Tutorial_Example" />
  7. </route>
  8. </routeur>
  9. </config>

Étape 2 : Créez des fichiers de contrôleur, de mise en page et de modèle.

Après avoir créé les fichiers de configuration, nous commencerons par les fichiers de contrôleur, de mise en page et de modèle.

– Créez le fichier contrôleur : app/code/Tutorial/Example/Controller/Index/Index.php et mettre ce code :

  1. < ? php
  2. espace de noms Tutoriel \Example\Controller\Index ;
  3. utilisez Magento \Framework\App\Action\Context ;
  4. utilisez Magento \Framework\View\Result\PageFactory ;
  5. la classe Index étend \Magento\Framework\App\Action\Action
  6. {
  7. /**
  8. * @param Contexte $context
  9. * @param PageFactory $resultPageFactory
  10. */
  11. fonction publique __construct (
  12. Contexte $context ,
  13. PageFactory $resultPageFactory
  14. )
  15. {
  16. parent :: __construct ( $context );
  17. $this -> resultPageFactory = $resultPageFactory ;
  18. }
  19. fonction publique exécuter ()
  20. {
  21. $resultPageFactory = $this -> resultPageFactory -> créer ();
  22. // Ajouter le titre de la page
  23. $resultPageFactory -> getConfig ()-> getTitle ()-> set ( __ ( 'Module d'exemple' ));
  24. // Ajouter un fil d'Ariane
  25. /** @var \Magento\Theme\Block\Html\Breadcrumbs */
  26. $breadcrumbs = $resultPageFactory -> getLayout ()-> getBlock ( 'breadcrumbs' );
  27. $breadcrumbs -> addCrumb ( 'home' ,
  28. [
  29. 'étiquette' => __ ( 'Accueil' ),
  30. 'titre' => __ ( 'Accueil' ),
  31. 'lien' => $this -> _url -> getUrl ( )
  32. ]
  33. );
  34. $breadcrumbs -> addCrumb ( 'tutorial_example' ,
  35. [
  36. 'étiquette' => __ ( 'Exemple' ),
  37. 'titre' => __ ( 'Exemple' )
  38. ]
  39. );
  40. retourne $resultPageFactory ;
  41. }
  42. }

– Créez le fichier de mise en page : app/code/Tutorial/Example/view/frontend/layout/example_index_index.xml

  1. < ? version xml = "1.0" encodage = "UTF-8" ?>
  2. <page xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" mise en page = "3 colonnes"
  3. xsi:noNamespaceSchemaLocation = "../../../../../../../lib/internal/Magento/Framework/View/Layout/
  4. etc/page_configuration.xsd » >
  5. <corps>
  6. <referenceContainer name = "contenu" >
  7. <block class = "Magento\Framework\View\Element\Template" name = "tutorial_example_block"
  8. template = "Tutorial_Example::index.phtml" />
  9. </referenceContainer>
  10. </body>
  11. </page>

– Créez le fichier modèle : app/code/Tutorial/Example/view/frontend/templates/index.phtml

<h1> < ? php echo __ ( 'Ceci est un exemple de module !' ) ?> </h1>

Etape 3 : Activer le module dans le fichier de configuration de Magento 2

Nous allons activer ce module en ouvrant app/etc/ config.php fichier puis ajoutez-y cette ligne :

Ouvrez ensuite la commande sous Windows (ou le terminal sous Linux et MAC OS). Accédez à votre dossier racine Magento et exécutez cette ligne de commande pour installer votre module :

configuration de bin\magento : mise à niveau

Enfin, videz le cache de Magento puis accédez avec l'url http://localhost/magento2/example/index/index/

Visitez le blog Magesolution pour ne manquer aucune mise à jour ou tutoriel sur Magento 2.0