{"id":6720,"date":"2020-11-16T11:10:23","date_gmt":"2020-11-16T11:10:23","guid":{"rendered":"https:\/\/www.bay20.com\/?p=6720"},"modified":"2025-05-01T18:16:06","modified_gmt":"2025-05-01T12:31:06","slug":"so-erstellen-sie-eine-grundstruktur-fur-eine-magento-2-erweiterung","status":"publish","type":"post","link":"https:\/\/www.bay20.com\/de\/so-erstellen-sie-eine-grundstruktur-fur-eine-magento-2-erweiterung\/","title":{"rendered":"Wie erstellt man eine Grundstruktur der Magento 2 Erweiterung?"},"content":{"rendered":"\n<p>In diesem Tutorial habe ich eine einfache Anleitung zur Erstellung eines Basismoduls f\u00fcr <a href=\"https:\/\/www.bay20.com\/magento2-development\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Magento 2<\/strong><\/a> erstellt. Sobald Ihre Grundstruktur fertig ist, k\u00f6nnen Sie die Funktionalit\u00e4t entsprechend Ihrer Website oder den Kundenanforderungen hinzuf\u00fcgen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"362\" height=\"404\" src=\"https:\/\/www.bay20.com\/wp-content\/uploads\/2020\/11\/structure.png\" alt=\"\" class=\"wp-image-6723\" srcset=\"https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2020\/11\/structure.png 362w, https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2020\/11\/structure-300x335.png 300w, https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2020\/11\/structure-269x300.png 269w\" sizes=\"auto, (max-width: 362px) 100vw, 362px\" \/><\/figure>\n\n\n\n<p><strong>F\u00fchren Sie die folgenden Schritte aus, um ein einfaches Modul zu erstellen:<\/strong><\/p>\n\n\n\n<p><strong>Schritt 1:<\/strong> Wechseln Sie in das Magento 2-Stammverzeichnis.<\/p>\n\n\n\n<p><strong>Schritt 2:<\/strong> Gehen Sie zu Pfad <strong>App -> Code.<\/strong><\/p>\n\n\n\n<p><strong>Schritt 3:<\/strong> Erstellen Sie einen Ordner und einen Unterordner mit dem Namen des Anbieters bzw. dem Namen des Moduls wie unten angegeben.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"321\" height=\"407\" src=\"https:\/\/www.bay20.com\/wp-content\/uploads\/2020\/11\/img.png\" alt=\"\" class=\"wp-image-6728\" srcset=\"https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2020\/11\/img.png 321w, https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2020\/11\/img-300x380.png 300w, https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2020\/11\/img-237x300.png 237w\" sizes=\"auto, (max-width: 321px) 100vw, 321px\" \/><\/figure>\n\n\n\n<p><strong>Schritt 4:<\/strong> Erstellen Sie die Datei registration.php unter Bay20\/Custom und f\u00fcgen Sie den folgenden Code ein.<\/p>\n\n\n\n<pre class=\"wp-block-verse\">&lt;?php \n\\Magento\\Framework\\Component\\ComponentRegistrar::register(\n\\Magento\\Framework\\Component\\ComponentRegistrar::MODULE, 'Bay20_Custom',\n<strong>DIR<\/strong>\n);<\/pre>\n\n\n\n<p><strong>Schritt 5:<\/strong> Erstellen Sie die Datei module.xml unter Bay20\/Custom\/etc und f\u00fcgen Sie den folgenden Code ein.<\/p>\n\n\n\n<pre class=\"wp-block-verse\">&lt;?xml version=\"1.0\"?&gt;\n&lt;config xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" \n&lt;xsi:noNamespaceSchemaLocation=\"urn:magento:framework:Module etc\/\n&lt;module.xsd\"&gt;\n&lt;module name=\"Bay20_Custom\" setup_version=\"1.0.0\"&gt;\n&lt;\/module&gt;\n&lt;\/config&gt;<\/pre>\n\n\n\n<p><strong>Schritt 6:<\/strong> Aktualisieren Sie Ihre Datenbank und regenerieren Sie die Dateien mit den folgenden Befehlen:<\/p>\n\n\n\n<pre class=\"wp-block-verse\"> php bin\/magento setup:upgrade \n<code>php bin\/magento setup:static-content:deploy<\/code><\/pre>\n\n\n\n<p>Schritt 7: <strong>Jetzt k\u00f6nnen Sie Ihr installiertes Modul in app\/etc\/config.php sehen, wie im <\/strong>Bild unten gezeigt.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"292\" height=\"109\" src=\"https:\/\/www.bay20.com\/wp-content\/uploads\/2020\/11\/module.png\" alt=\"\" class=\"wp-image-6737\"\/><\/figure>\n\n\n\n<p><strong>Schritt 8:<\/strong> Erstellen Sie eine Datei routes.xml unter Bay20\/Custom\/etc\/frontend und f\u00fcgen Sie den folgenden Code ein.<\/p>\n\n\n\n<p>&lt;?xml version=&#8220;1.0&#8243; ?&gt;<br>&lt;config xmlns:xsi=&#8220;http:\/\/www.w3.org\/2001\/XMLSchema-instance&#8220; &lt;xsi:noNamespaceSchemaLocation=&#8220;urn:magento:framework:App\/etc\/routes.xsd&#8220;&gt;<br>&lt;router id=&#8220;standard&#8220;&gt;<br>&lt;route frontName=&#8220;front&#8220; id=&#8220;front&#8220;&gt;<br>&lt;module name=&#8220;Bay20_Custom&#8220;\/&gt;<br>&lt;\/route&gt;<br>&lt;\/router&gt;<br>&lt;\/config&gt;<\/p>\n\n\n\n<p><strong>Schritt 9:<\/strong> Erstellen Sie eine Controller-Datei Index.php unter Bay20\/Custom\/Controller\/Custom und f\u00fcgen Sie den folgenden Code ein.<\/p>\n\n\n\n<pre class=\"wp-block-verse\">&lt;?php\nnamespace Bay20\\Custom\\Controller\\Custom;\nclass Index extends \\Magento\\Framework\\App\\Action\\Action\n{\nprotected $_pageFactory;\n<code>public function __construct( \\Magento\\Framework\\App\\Action\\Context $context<\/code>, \n<code>\\Magento\\Framework\\View\\Result\\PageFactory $pageFactory) <\/code>\n<code>{ <\/code>\n<code>$this-&gt;_pageFactory = $pageFactory; return <\/code>\n<code>parent::__construct($context); } public function execute() <\/code>\n    <code>{ <\/code>\n       <code>return $this-&gt;_pageFactory-&gt;create(); <\/code>\n     <code>}<\/code>\n}\n<\/pre>\n\n\n\n<p><strong>Schritt 10:<\/strong> Erstellen Sie eine Blockdatei Index.php unter Bay20\/Custom\/Block und f\u00fcgen Sie den folgenden Code ein.<\/p>\n\n\n\n<pre class=\"wp-block-verse\">&lt;?php\nnamespace Bay20\\Custom\\Block;\nclass Index extends \\Magento\\Framework\\View\\Element\\Template\n{\n\/<em>your code here<\/em>\/\n}<\/pre>\n\n\n\n<p><strong>Schritt 11: <\/strong>Erstellen Sie eine Vorlagendatei custom-test.phtml unter Bay20\/Custom\/view\/frontend\/templates und f\u00fcgen Sie den folgenden Code ein.<\/p>\n\n\n\n<pre class=\"wp-block-verse\">&lt;h2>Dies ist eine Grundstruktur des Magento 2 Moduls&lt;h2><\/pre>\n\n\n\n<p><strong>Schritt 12:<\/strong> Erstellen Sie eine Layout-Datei front_custom_index.xml und f\u00fcgen Sie den folgenden Code ein.<\/p>\n\n\n\n<pre class=\"wp-block-verse\">&lt;?xml version=\"1.0\"?&gt;\n&lt;page xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" layout=\"1column\" xsi:noNamespaceSchemaLocation=\"urn:magento:framework:View\/Layout\/etc\/page_configuration.xsd\"&gt;\n&lt;referenceContainer name=\"content\"&gt;\n&lt;block class=\"Bay20\\Custom\\Block\\Index\" name=\"custom-test\" template=\"Bay20_Custom::custom-test.phtml\" \/&gt;\n&lt;\/referenceContainer&gt;\n&lt;\/page&gt;<\/pre>\n\n\n\n<p id=\"block-057edf15-aa67-454f-8302-e16cbc0ed286\"><strong>Schritt 13:<\/strong> F\u00fchren Sie php bin\/magento cache:clean aus<\/p>\n\n\n\n<p><strong>Schritt 14:<\/strong> Geben Sie die folgende URL ein und Sie sehen das Ergebnis wie unten abgebildet.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;&lt;yourhost.com&gt;\/front\/custom\/index<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"980\" height=\"505\" src=\"https:\/\/www.bay20.com\/wp-content\/uploads\/2020\/11\/result-980x505.png\" alt=\"\" class=\"wp-image-6750\" srcset=\"https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2020\/11\/result-980x505.png 980w, https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2020\/11\/result-300x155.png 300w, https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2020\/11\/result-800x413.png 800w, https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2020\/11\/result-768x396.png 768w, https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2020\/11\/result-805x415.png 805w, https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2020\/11\/result.png 1144w\" sizes=\"auto, (max-width: 980px) 100vw, 980px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Tutorial habe ich eine einfache Anleitung zur Erstellung eines Basismoduls f\u00fcr Magento 2 erstellt. Sobald Ihre Grundstruktur fertig ist, k\u00f6nnen Sie die Funktionalit\u00e4t entsprechend Ihrer Website oder den Kundenanforderungen hinzuf\u00fcgen. F\u00fchren Sie die folgenden Schritte aus, um ein einfaches Modul zu erstellen: Schritt 1: Wechseln Sie in das Magento 2-Stammverzeichnis. Schritt 2: Gehen [&hellip;]<\/p>\n","protected":false},"author":27,"featured_media":6721,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[79],"tags":[],"class_list":["post-6720","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-magento-anleitung"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/posts\/6720","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/comments?post=6720"}],"version-history":[{"count":35,"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/posts\/6720\/revisions"}],"predecessor-version":[{"id":16629,"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/posts\/6720\/revisions\/16629"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/media\/6721"}],"wp:attachment":[{"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/media?parent=6720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/categories?post=6720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/tags?post=6720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}