Website-Symbol Fixit

Magento-Module erstellen

Wie wird eine Magento-Erweiterung erstellt?;

Ένας σημαντικός παράγοντας στη πλατφόρμα Magento, καθοριστικός για τη λειτουργία του, είναι οι επεκτάσεις ή modules. Σε προηγούμενο άρθρο αναφέρεται η σημασία και όσα πρέπει να γνωρίζει κανείς για τις επεκτάσεις. Στο άρθρο “Wie wichtig sind Magento-Module?;” βρίσκονται αναλυτικές πληροφορίες. Στη πραγματικότητα, το κόστος των επεκτάσεων, είναι καθοριστικό για την εξέλιξη ενός καταστήματος Magento και στρέφονται κάποιοι στη δημιουργία εξατομικευμένων επεκτάσεων. Πόσο όμως εύκολο είναι αυτό και ποια τα οφέλη αλλά και οι παγίδες που ίσως κρύβονται;

Was ist eine Magento-Erweiterung?;

Eine Magento-Erweiterung ist ein Codepaket, das für spezifische Funktionen in Magento zuständig ist. Technisch gesehen handelt es sich um ein Verzeichnis mit PHP- und XML-Dateien in Blöcken, Controllern, Hilfsfunktionen und Modellen, die mit einer bestimmten Geschäftsfunktion verknüpft sind. Obwohl Module und Erweiterungen theoretisch ähnlich sind, bezeichnet der Begriff „Modul“ häufig den Kerncode, also Code, der Teil von Magento selbst ist. Im Gegensatz dazu ist eine Erweiterung eine Komponente, die die Magento-Funktionalität erweitert und anpasst. Erweiterungen können verteilt und in mehreren Shops installiert werden, um spezifische Funktionen zu realisieren.

Magento-Skalierbarkeit.

Im Laufe der Jahre lag der Fokus der Magento-Entwicklung auf maximaler Erweiterbarkeit. Kern des Magento-Entwicklungsmodells ist die Praxis, den Kerncode zu erweitern. Diese Strategie trägt zur Wartung des Magento-Kerncodes bei und ermöglicht es Händlern und Entwicklern, Magento an ihre individuellen Bedürfnisse anzupassen. Der Magento-Code entspricht größtenteils den PSR2-Codierungsstandards für PHP. 

Darüber hinaus basiert Magento auf vielen bekannten Architekturstrukturen und integriert anerkannte und bewährte Softwarestrukturen, sogenannte Entwurfsmuster. Von diesen ist das MVC-Architekturmuster (Model-View-Controller) für die Entwicklung von Erweiterungen besonders relevant. Die Verwendung dieser Strukturen und Entwurfsmuster hilft PHP-Entwicklern, Entwicklungsprobleme zu bewältigen, die bei der Entwicklung von Erweiterungen auftreten können. 

Durch die Unterteilung des Codes in Module ist eine Erweiterung in sich abgeschlossen und kann daher modifiziert oder ersetzt werden, ohne andere Bereiche des Codes zu beeinträchtigen. Jede Erweiterung dient dazu, spezifische Funktionen bereitzustellen, indem sie bestehende Funktionalität erweitert oder neue implementiert. Die unabhängige Funktionsweise jeder Erweiterung minimiert das Risiko von Konflikten und ermöglicht deren parallele Ausführung.

Magento-Erweiterungen sind für den Betrieb unerlässlich.

Arten von Magento-Erweiterungen.

Wie man eine benutzerdefinierte Erweiterung in Magento 2 erstellt.

Die Entwicklung von Magento 2-Erweiterungen ist ein großes Thema auf dem Markt. Magento 2 hat bereits Tausenden von Online-Shops geholfen, ihren Kunden ein besseres Nutzererlebnis zu bieten. Es ist mobiler als Magento 1 und wurde für die Unterstützung von PWAs (Progressive Web Apps) entwickelt. Darüber hinaus fungiert es als hochentwickelte Plattform mit leistungsstarken Marketingfunktionen, benutzerfreundlichen Katalogverwaltungstools, visuellem Merchandising, Status- und Vorschauaktualisierungen sowie Suchmaschinenoptimierung. In letzter Zeit wurden vermehrt Magento 2-Erweiterungen entwickelt.

  1. Auf dem System muss die neueste Magento 2-Version installiert sein. 
  2. Der Magento-Cache sollte deaktiviert werden.
  3. Auswahl des Entwicklermodus: Ermöglicht die Überprüfung aller Fehler.

Die Entwicklung von Magento-Modulen eröffnet neue Wege für die Weiterentwicklung.

Schritte zur Entwicklung eines Magento-Moduls.

Schritt 1: Erstellen Sie Erweiterungsdateien und -ordner für die Installation und Registrierung. Ordner und Erweiterung erstellen: 

  app/code/Fixit/HelloWorld

Falls der Code-Ordner nicht existiert, kann er manuell erstellt werden. In diesem Fall lautet der Erweiterungsname „Helloworld“ und der Erweiterungs-Namespace ist der Ordner „Fixit“. 

Τώρα με έναν άλλο κωδικό, πρέπει να δημιουργηθεί ένα αρχείο module.XML στο φάκελο “Helloworld”. Για να εγγραφεί αυτή η ενότητα, πρέπει να δημιουργηθεί ένα αρχείο register.php στον ίδιο φάκελο helloworld. Μετάβαση στο Magento 2 root και, στη συνέχεια, εκτέλεση της εντολής αναβάθμισης (upgrade command). 

  app/code/Fixit/HelloWorld/etc/module.xml

Und der Inhalt:

<?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=”Fixit_HelloWorld” setup_version=”1.0.0″>
    </module>
</config>

Schritt 2: Erstellen Sie die Datei etc/registration.php

  app/code/Fixit/HelloWorld/registration.php

Und der Inhalt:

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
‘Fixit_HelloWorld’,
__DIR__
);

Schritt 3: Schalten Sie das Gerät ein:

  php bin/magento module:enable Fixit_HelloWorld

Η ενότητα θα πρέπει να είναι διαθέσιμη τώρα. Μετά από αυτό το βήμα, όταν ανοίγει ο ιστότοπος στο πρόγραμμα περιήγησης, θα ληφθεί ένα σφάλμα λέγοντας “Αναβαθμίστε τη βάση δεδομένων σας”:

  php bin/magento setup:upgrade

Dann wird die Website als defekt angezeigt:

php bin/magento setup:static-content:deploy

Nach Abschluss der Bereitstellung ist die Erweiterung im Backend unter Systemkonfiguration → Erweitert → Modulausgabe deaktivieren sichtbar. Nun wird ein Controller für Modultests erstellt. Zuvor wird jedoch eine Route für das HelloWorld-Modul angelegt. Routen in Magento bestehen aus drei Teilen: Routenadresse, Controller und Aktion, wie im folgenden Beispiel:

http://fixit.com/index.php/frontname/controller/action

Um eine Route hinzuzufügen, muss eine routes.xml-Datei erstellt werden:

app/code/Fixit/HelloWorld/etc/frontend/routes.xml

Da es sich um einen Frontend-Pfad handelt, wird er dem Ordner „frontend/“ hinzugefügt; andernfalls müsste er dem Ordner „adminhtml/“ hinzugefügt werden.

Der Inhalt:

<?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=”Fixit_HelloWorld”/>
        </route>
    </router>
</config>

Es sollte ein weiterer Ordner erstellt werden:

app/code/Fixit/HelloWorld/Controller/Index/Test.php

und Inhalt:

<?php
namespace Fixit\HelloWorld\Controller\Index;

class Test extends \Magento\Framework\App\Action\Action
{
geschützte $_pageFactory;

public function __construct(
\Magento\Framework\App\Action\Context $context,
\Magento\Framework\View\Result\PageFactory $pageFactory)
{
$this->_pageFactory = $pageFactory;
return parent::__construct($context);
}

öffentliche Funktion execute()
{
echo “Hello World”;
Ausfahrt?;
}
}

Die URL muss folgendes Format haben:

http://<yourhost.com>/helloworld/index/test

 

 

 

Δημιουργήθηκε η πρώτη επέκταση Magento, η οποία όταν ανοιχτεί εμφανίζει: “Hello World!”. Ωστόσο το πεδίο των επεκτάσεων magento είναι τεράστιο και υπάρχουν πολλά για να μάθει κανείς ώστε να προχωρήσει στην ανάπτυξη τους. 

 

Verlassen Sie die mobile Version