Hi, ich würde gerne die Models aus einem anderen selbst programmierten Plugin benutzen, doch leider erhalte ich immer beim Versuch darauf zuzugreifen eine Fehlermeldung: [quote] Ups! Ein Fehler ist aufgetreten! Die nachfolgenden Hinweise sollten Ihnen weiterhelfen. Class Shopware\CustomModels\entities\MyEntity does not exist in Doctrine\Common\Persistence\Mapping\RuntimeReflectionService.php on line 73 [/quote] ich erhalte diesen Fehler aus meinem Widget-Controller beim Aufruf von Shopware() -\> Models() -\> getRepository('Shopware\CustomModels\entities\MyEntity');
Nun würde ich gerne wissen wie ich aus meinem Widget-Controller auf das CustomModel meines anderen Plugins zugreifen kann. Über Hilfe würde ich mich sehr freuen. Viele Grüße Mattis
Hi, habe ich selbst so noch nicht probiert. Wie hast du die Models den in deinem anderen Plugin registriert? Hast du in der afterInit() die Funktion $this->registerCustomModels() aufgerufen? Der Trick dabei ist, dass der Namespace nicht für die Models registriert ist, daher müsstest du den Model Ordner des „anderen Plugins“ mit in den Namespace verwerfen. Das könnte wie folgt funktionieren: class Shopware\_Plugins...Frontend\_PluginA extends ... { public function afterInit() { $this-\>registerCustomModels(); } } class Shopware\_Plugins....PluginB extends ... { public function doSomething() { Shopware()-\>Plugins()-\>Frontend()-\>PluginA(); ... do more stuff } }
Durch den Aufruf „Shopware()->Plugins()->Frontend()->PluginA()“ wird die Klasse instanziert und die afterInit() Funktion aufgerufen. Dadurch wird der Model Namespace des Plugins registriert. Hoffe das hilft dir weiter Gruß Oliver