In diesem Tutorial habe ich eine einfache Anleitung zur Erstellung eines Basismoduls für Magento 2 erstellt. Sobald Ihre Grundstruktur fertig ist, können Sie die Funktionalität entsprechend Ihrer Website oder den Kundenanforderungen hinzufügen.

Führen Sie die folgenden Schritte aus, um ein einfaches Modul zu erstellen:
Schritt 1: Wechseln Sie in das Magento 2-Stammverzeichnis.
Schritt 2: Gehen Sie zu Pfad App -> Code.
Schritt 3: Erstellen Sie einen Ordner und einen Unterordner mit dem Namen des Anbieters bzw. dem Namen des Moduls wie unten angegeben.

Schritt 4: Erstellen Sie die Datei registration.php unter Bay20/Custom und fügen Sie den folgenden Code ein.
<?php \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Bay20_Custom', DIR );
Schritt 5: Erstellen Sie die Datei module.xml unter Bay20/Custom/etc und fügen Sie den folgenden Code ein.
<?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="Bay20_Custom" setup_version="1.0.0"> </module> </config>
Schritt 6: Aktualisieren Sie Ihre Datenbank und regenerieren Sie die Dateien mit den folgenden Befehlen:
php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy
Schritt 7: Jetzt können Sie Ihr installiertes Modul in app/etc/config.php sehen, wie im Bild unten gezeigt.

Schritt 8: Erstellen Sie eine Datei routes.xml unter Bay20/Custom/etc/frontend und fügen Sie den folgenden Code ein.
<?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=“front“ id=“front“>
<module name=“Bay20_Custom“/>
</route>
</router>
</config>
Schritt 9: Erstellen Sie eine Controller-Datei Index.php unter Bay20/Custom/Controller/Custom und fügen Sie den folgenden Code ein.
<?php
namespace Bay20\Custom\Controller\Custom;
class Index extends \Magento\Framework\App\Action\Action
{
protected $_pageFactory;
public function __construct( \Magento\Framework\App\Action\Context $context,
\Magento\Framework\View\Result\PageFactory $pageFactory)
{
$this->_pageFactory = $pageFactory; return
parent::__construct($context); } public function execute()
{
return $this->_pageFactory->create();
}
}
Schritt 10: Erstellen Sie eine Blockdatei Index.php unter Bay20/Custom/Block und fügen Sie den folgenden Code ein.
<?php
namespace Bay20\Custom\Block;
class Index extends \Magento\Framework\View\Element\Template
{
/your code here/
}
Schritt 11: Erstellen Sie eine Vorlagendatei custom-test.phtml unter Bay20/Custom/view/frontend/templates und fügen Sie den folgenden Code ein.
<h2>Dies ist eine Grundstruktur des Magento 2 Moduls<h2>
Schritt 12: Erstellen Sie eine Layout-Datei front_custom_index.xml und fügen Sie den folgenden Code ein.
<?xml version="1.0"?> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <referenceContainer name="content"> <block class="Bay20\Custom\Block\Index" name="custom-test" template="Bay20_Custom::custom-test.phtml" /> </referenceContainer> </page>
Schritt 13: Führen Sie php bin/magento cache:clean aus
Schritt 14: Geben Sie die folgende URL ein und Sie sehen das Ergebnis wie unten abgebildet.
http://<yourhost.com>/front/custom/index







