In questo articolo vedremo come sviluppare un modulo Magento 2 o Magento 2 Hello World .
Come sapete, un modulo è una directory che contiene blocchi, controller, modelli, helper, etc. relativi a una specifica funzionalità. La cartella etc contiene admin ACL, menu admin, configurazione. In Magento 2, i moduli saranno presenti nella directory app / code di un’installazione Magento, con questo formato: app / code / <Vendor> / <ModuleName>.
Ora seguiremo questi passaggi per creare un semplice modulo che funzioni su Magento 2 e visualizzi Hello World.
Creare un modulo Hello Word per Magento 2
Per creare il modulo Hello World, è necessario completare i seguenti passaggi di alto livello:
- Passaggio 1: creare la cartella del modulo Hello World
- Passaggio 2: creare il file etc / module.xml
- Passaggio 3: creare il file etc / registration.php
- Passaggio 4: abilitare il modulo
Step 1: creare la cartella del modulo Hello Word
Il nome del modulo è definito come VendorName_ModuleName. La prima parte è il nome del venditore e l’ultima parte è il nome del modulo: Ad esempio: Magento_HelloWorld, Magentiamo_PdfInvoice.
Concentrati sulla seguente guida per creare le cartelle:
app/code/Magentiamo/HelloWorld
Step 2: creare il file etc / module.xml
Ora, è necessario creare la cartella etc e aggiungere il file module.xml
app/code/Magentiamo/HelloWorld/etc/module.xml
I contenuti sarebbero:
<?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="MagentiamoHelloWorld" setup_version="1.0.0">
</module>
</config>
Step 3: creare il file etc / registration.php
In questo passaggio, aggiungeremo registration.php :
app/code/Magentiamo/HelloWorld/registration.php
I contenuti sarebbero:
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Magentiamo_HelloWorld',
__DIR__
);
Step 4: abilitare il modulo
Terminato il passaggio 3, abbiamo già creato il modulo HelloWorld. Ora dobbiamo abilitare questo modulo e lo faremo in questo passaggio.
Dopo aver creato il modulo se esegui il comando come:
php bin/magento module:status
Dovresti vedere che il modulo è disabilitato :
Elenco dei moduli disabilitati: Magentiamo_HelloWorld
Per abilitare il modulo, segui la guida esatta. Esegui il comando:
php bin/magento module:enable Magentiamo_HelloWorld
O in altro modo, puoi accedere al file:
app/etc/config.php
Vedrai un lungo elenco di moduli presenti, aggiungi anche il tuo modulo:
...
'Magentiamo_HelloWorld' => 1,
...
Il tuo modulo dovrebbe essere disponibile ora.
Dopo questo passaggio, quando apri il tuo sito Web nel browser riceverai un errore che dice
Aggiorna il tuo database: esegui bin / magento setup: upgrade, dalla directory principale di Magento.
Esegui il comando:
php bin/magento setup:upgrade
Al termine, quando apri il tuo sito web nel browser vedrai che il layout del sito web è tutto disordinato.
Esegui quindi la riga di comando deloy per risolvere il problema.
php bin/magento setup:static-content:deploy
Dopo aver completato questa operazione, puoi anche vedere il tuo modulo dal back-end in Configurazione di sistema -> Avanzate -> Disabilita output moduli.
Ora creeremo un controller per testare il modulo.
Prima di creare un controller, creeremo un percorso per il modulo HelloWorld.
I percorsi in Magento sono divisi in 3 parti: Frontname del percorso, controller e azione come nel seguente esempio:
http://magentiamo.com/index.php/frontname/controller/action
Ora è necessario creare il file routes.xml
app / code / Magentiamo / HelloWorld / etc / frontend / routes.xml
poiché si tratta di una route frontend, l’abbiamo aggiunta nella cartella frontend / altrimenti dovevamo aggiungerla alla cartella adminhtml /
Il contenuto sarebbe:
<?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 frontName="helloworld" id="helloworld">
<module name="Mageplaza_HelloWorld"/>
</route>
</router>
</config>
Dopo aver definito la prima parte del percorso, l’URL verrà visualizzato come:
http://<yourhost.com>/helloworld/*
Al termine, eseguire php bin / magento cache: clean per controllare il risultato.
Il tuo URL ora dovrebbe essere come:
http://<yourhost.com>/helloworld/index/test
Dopo aver completato tutti i passaggi, l’output Hello World dovrebbe essere visualizzato nel tuo browser quando apri l’URL.