Hallo,
ich versuche mich an einer Plug-inentwicklung. Plug-in erscheint in der Liste. Aber mit dem Befehl:
vagrant@dev:~/shopware-dev$ ./bin/console plugin:install –activate –clearCache SW6TutorialPlugin
wird folgender Fehler erzeugt:
The class "R22\SW6TutorialPlugin\SW6TutorialPlugin" is not found. Probably an class loader error. Check your plugin composer.json
Dazu meine composer.json
{
"name": "r22/sw6-tutorial-plugin",
"description": "Tutorial Plugin Entwicklung für Shopware 6",
"version": "v1.0.0",
"license": "MIT",
"authors": [
{
"name": "Max Mustermann"
}
],
"require": {
"shopware/core": "*",
"shopware/storefront": "*"
},
"type": "shopware-platform-plugin",
"autoload": {
"psr-4": {
"R22\\SW6TutorialPlugin\\": "src/"
}
},
"extra": {
"shopware-plugin-class": "R22\\SW6TutorialPlugin\\SW6TutorialPlugin",
"copyright": "(C) Max Mustermann",
"label": {
"de-DE": "Tutorial Shopware 6",
"en-GB": "Tutorial Shopware 6"
}
}
}
meine Verzeichnisstruktur:
> ...
> custom
-> plugins
--> SW6TutorialPlugin
----> src
------> SW6TutorialPlugin.php
----> composer.json
meine SW6TutorialPlugin.php
Wo habe ich welchen Fehler gemacht?
gaxweb
2
Am gleichen Problem verzweifle ich auch gerade. Kann es sein, dass der Namespace (Prefix) nicht den gleichen Namen wie die Klasse enthalten darf?
Das Beste ist: selbst wenn ich ein Plugin per CLI erstellen lasse kann ich es nicht direkt danach installieren. WTF?
$ php bin/console plugin:create TestPlugin
$ php bin/console plugin:install TestPlugin
führt zum Fehler: The class "TestPlugin\TestPlugin" is not found. Probably an class loader error. Check your plugin composer.json
Shopware 6.4.16
Wenn du es per CLI erstellst, dann musst du console plugin:refresh eingeben. Danach kannst du es installieren.
Und wird du einen anderen Namespace verwendest, dann musst du die composer.json als auch die .php manuell anpassen.
gaxweb
4
Nach einem Refresh kommt der gleiche Fehler. Ich werd wohl erst ein Update vom ganzen SW machen. Vielleicht hilfts…
Da ich gerade u.A. auf diese Seite gestoßen bin:
Falls mal jemand einen ähnlichen Fehler hat, hier noch ein möglicher weiterer Lösungsansatz: