Wie erstellt man eine Grundstruktur der Magento 2 Erweiterung?

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