Hello kurze Frage, vermutlich stehe ich gerade auf dem Schlauch… Ich will mich per Hook an Shopware_Models_Shop, Methode setShop einklinken. Das sieht dann so aus: $event = $this-\>createHook( 'Shopware\_Models\_Shop', 'setShop', 'takeoverShop', Enlight\_Hook\_HookHandler::TypeAfter, 0 ); $this-\>subscribeHook($event); static function takeoverShop (Enlight\_Hook\_HookArgs $args) { Shopware()-\>Log()-\>log("Taking over shop",Zend\_Log::INFO); Shopware()-\>Log()-\>log($args-\>getReturn(),Zend\_Log::INFO); return $args-\>getReturn(); }
Nach dem installieren und aktivieren des Plugins macht er aber nichts, vermutlich, weil er noch die alten Daten unter engine/Shopware/proxies vorhält. Ich kann alle Dateien in diesem Verzeichnis ohne Probleme löschen, nur bei der ShopwareModelsShopProxy.php gibt es Probleme, danach kommt das Frontend nicht mehr hoch, Fehlermeldung ist Fatal error: Shopware\_Plugins\_Core\_Shop\_Bootstrap::onInitResourceShop() [[shopware-plugins-core-shop-bootstrap.oninitresourceshop](shopware-plugins-core-shop-bootstrap.oninitresourceshop)]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Shopware\_Proxies\_ShopwareModelsShopProxy" of the object you are trying to operate on was loaded \_before\_ unserialize() gets called or provide a \_\_autoload() function to load the class definition in D:\htdocs\shopware\engine\Shopware\Plugins\Default\Core\Shop\Bootstrap.php on line 66
Ok, habe eben noch einen Geistesblitz gehabt und die Sessions-Tabelle gelöscht, und nun geht es. Offenbar speichert er in dort eine Referenz auf den Proxy. Vielleicht hilft der Post ja jemandem, ich schicke das mal einfach so ab wirtsi