Hi, wir haben ein Plugin entwickelt, welches unter anderem als Cronjob läuft und Bestellungen von einer Schnittstelle abholt und importiert. Dabei finden auch einige Core-Klassen Verwendung, unter anderem sAdmin. Jedenfalls hat das ziemlich sicher vor einiger Zeit (oder einigen Releases) noch funktioniert, jetzt bin ich ziemlich aufgeschmissen und etwas ratlos. Es gibt die folgende Fehlermeldung: Resource „shop“ not found failure in Shopware/Components/DependencyInjection/Container.php on line 192 beim Aufruf von folgendem Code: $this-\>admin = Shopware()-\>Modules()-\>Admin();
In einem anderem Thread (administration-f55/resource-shop-not-found-failure-t22551.html) habe ich gelesen, dass es die Shop-Resource im Backend nicht gibt. Ist das kürzlich in einem Release mal geändert worden? Oder werde ich so langsam verrückt? Wer kann mir weiterhelfen? Viele Grüße Philipp
Das backend ist an keinen Shop gebunden - daher ist die Ressource auch nicht verfügbar. Funktionalitäten die auf den aktuellen Shop zugreifen, funktionieren nur im Frontend. Das war schon immer so Viele Grüße
Hi, wenn es nicht anders geht, kann ein Shop-Objekt auch aus dem Backend heraus registriert werden: $shop = $this-\>getManager()-\>getRepository('Shopware\Models\Shop\Shop')-\>getActiveDefault(); $shop-\>registerResources(Shopware()-\>Bootstrap());
In diesem Fall wird der aktive Standard-Shop geladen, wenn ihr einen anderen Shop-Kontext braucht (etwa den spanischen Sprachshop eures Handtaschen-Subshops), müsst ihr natürlich den Shop laden. Der Shop-Kontext ist wichtig, weil daran bspw. Standardkundengruppen, Sprachen etc. hängen. lG Daniel
Hi, vielen Dank für eure Antworten! Es gibt zwei Wege, unser Plugin aufzurufen. Die eine kommt „offiziell“ aus dem Frontend, daher steht dort alles zur Verfügung. Nachdem der Cron implementiert wurde, folgte die Weiterentwicklung, daher die Verwirrung… @Daniel: Ja genau, dafür brauchen wir den Shop-Kontext auch zwingend. Vielen Dank für den Tip, funktioniert super. Viele Grüße Philipp