Das benutzerdefinierte Magento 2-Modul wird nicht geladen
-
12-12-2019 - |
Frage
Ich habe eine lokale Kopie von Magento 2 in meinem XAMPP installiert und mich mit der neuen Struktur vertraut gemacht.Beim Versuch, ein Basismodul einzurichten, bin ich jedoch auf ein Problem gestoßen.
Ich habe die folgende Datei-/Ordnerstruktur erstellt
app/code/Heirik/Test/etc/module.xml
In dieser Datei befindet sich Folgendes
<?xml version="1.0"?>
<config>
<module name="Heirik_Test" schema_version="2.0.0">
</module>
</config>
Ich habe den Store-Cache aktualisiert, aber wenn ich zu Store > Konfiguration > Erweitert gehe, wird das Modul nicht in die Liste geladen.Den neuesten Devdocs zufolge besteht keine Notwendigkeit mehr, das Modul innerhalb des XML auf aktiv zu setzen.
Ich weiß, dass Magento die module.xml liest, denn wenn ich den Parameter schema_version entferne, erhalte ich eine Fehlermeldung.
Lösung
Mit den neuesten Builds von Magento hat sich dies zu geändert generasacodicetagpre.
Andere Tipps
Nach einiger Suche, Versuch und Fehler, die ich in der folgenden Antwort befindet
Für eine vorhandene Magento-Instanz müssen Sie ein benutzerdefiniertes Modul wie folgt registrieren:
- .
- Bearbeiten Sie die Datei App / etc / config.php und fügen Sie Ihr Modul dort hinzu und geben Sie den Wert "1" (aktiviert) an
- dann den Cache aktualisieren.
in meinem Fall musste ich hinzuzufügen generasacodicetagpre.
in die Module-Array in App / etc / config.php
oder noch einfacher, erhielt MAGES installieren und run: generasacodicetagpre.
Als ich versuchte, ein benutzerdefiniertes Modul unter Magento 2.2.0 zu registrieren, bestand mein Problem darin, dass der Composer eine Datei generierte vendor/composer/autoload_files.php
wurde nicht aktualisiert, als ich Composer Update ausgeführt habe.
Es spielte keine Rolle, was ich tat, es manuell zum hinzuzufügen config.php
würde es so aussehen lassen, als würde es funktionieren, aber nach dem Ausführen magento setup:upgrade
Das Modul war nicht mehr registriert und führte keine Installations-/Upgrade-Skripte aus.
Nachdem ich den Composer ordnungsgemäß aktualisiert und dreifach überprüft hatte, war er im autoload_files
, das Modul registrierte sich und ich atmete erleichtert auf.
Nur etwas, dessen man sich bewusst sein sollte.Wenn jemand anderes ähnliche Probleme hat, kann dies hoffentlich etwas Licht ins Dunkel bringen.
Die Datei Ihres Moduls mit dem Namen module.xml
Das Dateikonfigurations-Tag sollte über ein XML-Schema und seinen XSD-Speicherort verfügen, die Ihre Datei validieren module.xml
Dateistruktur.Der Schemawert sollte wie folgt lauten:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd"