- Home
- Blog
- Web developer
- Come Creare un Modulo per Magento 2: Guida Dettagliata
Come Creare un Modulo per Magento 2: Guida Dettagliata

Getting your Trinity Audio player ready... |
Nell’articolo di oggi, esploreremo i passaggi per creare un modulo personalizzato in Magento 2. Per farlo, realizzeremo un semplice plugin chiamato HelloWorld, che ci aiuterà a comprendere il processo completo di sviluppo e configurazione di un modulo in Magento.
Un modulo in Magento è una directory che contiene file essenziali come blocchi, controller, modelli, helper e configurazioni. La sua struttura si basa su una gerarchia specifica, con la directory principale collocata in app/code, organizzata come segue:
app/code/<Vendor>/<NomeModulo>.
La directory etc all’interno del modulo ospita file chiave, tra cui configurazioni amministrative (ACL), menu per il pannello di amministrazione e altre impostazioni necessarie.
Passiamo ora ai dettagli pratici su come creare il modulo HelloWorld.
Passaggi per Creare il Modulo HelloWorld in Magento 2
I passaggi principali per la creazione del modulo sono:
- Creare la cartella del modulo.
- Configurare il file
module.xml. - Aggiungere il file di registrazione
registration.php. - Creare il controller per gestire la logica del modulo.
- Abilitare il modulo tramite CLI.
Passaggio 1: Creare la Cartella del Modulo
Il nome del modulo segue la struttura <NomeVendor>_<NomeModulo>. Ad esempio, “Magento_Checkout” o “Amasty_ProductLabels”.
Per il nostro modulo HelloWorld, creiamo la directory seguente:
app/code/DoAgency/HelloWorld/
Passaggio 2: Configurare il File module.xml
Il file module.xml definisce le informazioni di base del modulo. Creiamo la directory etc e aggiungiamo il file:
app/code/DoAgency/HelloWorld/etc/module.xml
Il contenuto sarà il seguente:
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="DoAgency_HelloWorld" setup_version="1.0.0"/> </config> Passaggio 3: Creare il File registration.php
Il file registration.php registra il modulo in Magento. Posizioniamolo nel percorso:
app/code/DoAgency/HelloWorld/registration.php
Il suo contenuto sarà:
<?php use Magento\Framework\Component\ComponentRegistrar; ComponentRegistrar::register( ComponentRegistrar::MODULE, 'DoAgency_HelloWorld', __DIR__ ); Passaggio 4: Creare il Controller
Il controller è il componente responsabile della logica del modulo. In questo esempio, mostrerà semplicemente il messaggio “Hello World” quando accediamo a un URL specifico.
Aggiungere una Route
Prima di tutto, configuriamo una route per il modulo. Creiamo il file:
app/code/DoAgency/HelloWorld/etc/frontend/routes.xml
Con il seguente contenuto:
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd"> <router id="standard"> <route id="helloworld" frontName="helloworld"> <module name="DoAgency_HelloWorld"/> </route> </router> </config> Creare il File Controller
Ora creiamo il controller che risponderà alla route definita. Posizioniamolo in:
app/code/DoAgency/HelloWorld/Controller/Index/Hello.php
Il file avrà il seguente contenuto:
<?php namespace DoAgency\HelloWorld\Controller\Index; use Magento\Framework\App\Action\Action; use Magento\Framework\App\Action\Context; class Hello extends Action { public function __construct(Context $context) { parent::__construct($context); } public function execute() { echo "Hello World"; exit; } } Con questa configurazione, accedendo all’URL:
http://<tuohost>.com/helloworld/index/hello
vedremo il messaggio “Hello World”.
Passaggio 5: Abilitare il Modulo
Per attivare il modulo, eseguiamo i seguenti comandi dalla directory principale di Magento:
- Aggiornare il setup:
php bin/magento setup:upgrade- Distribuire contenuti statici (se necessario):
php bin/magento setup:static-content:deploy- Pulire la cache:
php bin/magento cache:clean
A questo punto, il modulo è attivo e funzionale.
Conclusioni
Abbiamo visto come creare un modulo base per Magento 2, seguendo i passaggi fondamentali: dalla configurazione iniziale alla creazione del controller, fino all’abilitazione. Questo processo può essere esteso per aggiungere funzionalità più complesse come interazioni con il database, personalizzazioni di layout, o integrazioni con altri moduli.
Hai un progetto in Magento 2 o vuoi approfondire? Contattaci: saremo lieti di aiutarti a sviluppare soluzioni su misura!