Trusted Shops wechselt ja demnächst vom Trust Badge Plugin zu ihrem neuen Essay Integration Plugin und ich habe Probleme die aktuelle Version 1.0.1 sowohl in Shopware 5.7.7 als auch in 5.7.16 zu installieren.
Ich erhalte einen Fehler 500 von ‚/backend/PluginInstaller/installPlugin‘.
Über den Composer schlägt die Installation ebenfalls fehlt.
Ich habe schon testweise alle anderen Plugins deaktiviert (ja, auch das alte Trust Badge) und alle Caches gelöscht und mich aus- und wieder eingeloggt, aber es ändert nichts.
Die Shops laufen beide mit PHP 7.4.33 — eigentlich sollte das Plugin damit kompatibel sein.
[11-Feb-2023 17:54:30 Europe/Berlin] PHP Fatal error: Uncaught Error: Call to a member function getId() on null in /pfad/zu/shopware/engine/Shopware/Components/Plugin/MenuSynchronizer.php:110
Stack trace:
#0 /pfad/zu/shopware/engine/Shopware/Components/Plugin/MenuSynchronizer.php(177): Shopware\Components\Plugin\MenuSynchronizer->saveMenuTranslation()
#1 /pfad/zu/shopware/engine/Shopware/Components/Plugin/MenuSynchronizer.php(84): Shopware\Components\Plugin\MenuSynchronizer->createMenuItem()
#2 /pfad/zu/shopware/engine/Shopware/Bundle/PluginInstallerBundle/Service/PluginInstaller.php(476): Shopware\Components\Plugin\MenuSynchronizer->synchronize()
#3 /pfad/zu/shopware/engine/Shopware/Bundle/PluginInstallerBundle/Service/PluginInstaller.php(434): Shopware\Bundle\PluginInstallerBundle\Service\PluginInstaller->installMenu()
#4 /pfad/zu/shopware/engine/Shopware/Components/Plugin/MenuSynchronizer.php on line 110
Tja, das ist ein Core-„Plugin“ von Shopware. Nichts von mir installiertes. Er versucht da die locale zuladen. Die sind aber alle unverändert vorhanden. Sowohl de_DE als auch en_GB sind da
Ich habe heute noch mal ein bisschen herumexperimentiert; alle Plugins deaktiviert und gelöscht (bis auf das neue Trustedshops-Plugin) und die verschiedenen PHP-Versionen durchprobiert.
Von 7.4 bis 8.2 — der Fehler bleibt stets exakt derselbe.
Und ich habe auch mal eine frische Installation von Shopware 5.7.16 gemacht — da lässt sich das Plugin installieren.
Jedoch nicht, wenn ich die DB der neuen Installation auf die DB der alten Installation umlenke.
D.h. es muss wohl irgendwo etwas in der Datenbank sein … nur wo?
Okay, ich habe den „Fehler“ gefunden.
Im Trusted Shops Plugin werden bei der Installation Menüeinträge im Backend erstellt und dafür gibt es Übersetzungen. Diese sind im Plugin-Verzeichnis in der menu.xml definiert:
In den alten, über die Jahre bis zu 5.7.16 hochaktualisierten Shops fehlten die Locales für fr_FR, it_IT und es_ES. Nachdem ich diese im Backend angelegt habe, funktioniert die Installation reibungslos.