registration.php
fehlt
Anscheinend hat mein Vendorname_Modulename
Modul das gefehltregistration.php
. Ich verwende die neueste Magento2-Version von GitHub.
Jedes Modul muss sich im registrieren ComponentRegistrar
. Ein registration.php
für ein Modul typisches Element (im Stammverzeichnis Ihres Moduls) könnte Folgendes enthalten:
<?php
use Magento\Framework\Component\ComponentRegistrar;
ComponentRegistrar::register(
ComponentRegistrar::MODULE,
'Vendorname_Modulename',
__DIR__
);
Sehen Sie auch alle Magento-Kernkomponenten in app/code/Magento/
oder in Ihrem vendor/magento/
Verzeichnis
registration.php
NICHT vermisst
Wenn sich registration.php
in Ihrem Modul zwar eine Datei befindet, dieser Fehler jedoch weiterhin angezeigt wird, bedeutet dies, dass Ihreregistration.php
nicht geladen wurden und Magento2 nichts über Ihr Modul weiß.
Ihr Modul sollte sich unter befinden app/code/
(wo Magento2 Ordner durchsucht app/code/
und Ihre Module findet registration.php
). Wenn Sie Ihr Modul jedoch als Composer-Paket erstellt haben, befindet es sich im Verzeichnis von Composer vendor/
und Sie müssen Composer dazu verleiten, die Module registration.php
(Magento) zu laden sucht nicht invendor/
von alleine).
Wenn Sie irgendwelche Magento2 Moduls überprüfen würde composer.json
in vendor/magento/module-*
, erhalten Sie eine siehe "autoload"
Abschnitt welche Hinweise die registration.php
Datei. So Composer wird Ihre Moduls AutoLoad- registration.php
das wird „sagen“ Magento2 wo Ihr Modul befindet.
Dies ist ein Fragment aus dem Magento Checkout- Modul composer.json
:
"autoload": {
"files": [
"registration.php"
],
"psr-4": {
"Magento\\Checkout\\": ""
}
}
Wenn Sie Ihr Modul in einem separaten Repository haben und es über Composer laden, ist dies der richtige Weg. Wenn Sie es nicht in einem separaten Repository haben, gehört Ihr Modul nicht zu, vendor/
sondern zu app/code/
.
Sie können es für jede Erweiterung verwenden, ohne etwas zu ändern.
Es funktioniert für jeden Erweiterungsstandort (
app/code
odervendor
) und für jeden Erweiterungstyp (Modul, Übersetzungswörterbuch).quelle
Hinzufügen zu: Wenn
registration.php
NICHT fehltÜberprüfen und bestätigen Sie, ob der Modulname im Modul
etc/module.xml
korrekt ist (nicht der Modulname im<sequence>
Tag, falls vorhanden).quelle
Dies kann auch auftreten, wenn die Berechtigungen für das Modulverzeichnis und die Dateien nicht korrekt festgelegt wurden. Stellen Sie sicher, dass Verzeichnisse und Dateien von Magento und Webbenutzern gelesen werden können.
quelle