hbee
28. August 2017 um 14:59
1
Hi, ich habe in einem Plugin über $this->Application()->Loader()->registerNamespace() ein Helfer-Klasse registriert. Daraauf kann in innerhalb meines Controllers auch zugreifen.
Jetzt habe ich ein 2. Plugin bei dem ich ein COnsolen Command registriert habe. Innerhalb dieses Commandos kann ich aber nicht auf meine Klasse aus dem 1. Plugin zugreifen.
Steht der Namespace hier nicht zur Verfügung bzw. ist nicht bekannt?
Vielen Dank
Thomas
29. August 2017 um 06:27
2
Ich würde die Klasse einfach in den DI Container legen. Damit soltlest du ohne Probleme dran kommen.
Verwendest Du das neue Plugin System?
hbee
29. August 2017 um 08:34
3
Die Klasse die ich verwenden möchte, stammt aus dem alten Plugin System. Ich möchte sie aber in einen Plugin im neuen System verwenden.
Wie kann ich die Klasse in den DI Container legen?
vielen Dank.
Thomas
29. August 2017 um 08:54
4
Die Beschreibung Plugin services sollte dir da weiterhelfen
1 „Gefällt mir“
hbee
29. August 2017 um 09:47
5
hhmmm… das hat irgendwie nciht funktionier. ich habe jetzt in meiner 1. Plugin folgendes Event registriert:
$this->subscribeEvent(
'Enlight_Bootstrap_InitResource_my_plugin_test.my_services',
'onInitMyServices'
);
/**
* @return \Shopware\Test\MyServices
*/
public function onInitMyServices()
{
return new \Shopware\Test\MyServices();
}
public function afterInit()
{
//register component
$this->Application()->Loader()->registerNamespace(
'Shopware\Test',
$this->Path() . "Components/"
);
}
Wenn ich nun in meinem 2. Plugin folgendes aufrufe:
$test = Shopware()->Container()->get('my_plugin_test.my_services');
erhalte ich folgenden fehler:
[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]
You have requested a non-existent service “my_plugin_test.my_services”.
Kann ich irgendwo prüfen ob das Event “Enlight_Bootstrap_InitResource” korrekt registriert wurde?
Thomas
29. August 2017 um 09:51
6
Kannst du mir beide Plugins bitte einmal schicken? Dann schaue ich mir gerne an.
hbee
29. August 2017 um 10:23
7
@Thomas schrieb:
Kannst du mir beide Plugins bitte einmal schicken? Dann schaue ich mir gerne an.
Danke, das ist nett von dir. leider ist das eine Plugin sehr komplex. ich versuche das mal in 2 testPlugins nachzubauen und schicke sie dir dann gern.
hbee
29. August 2017 um 11:43
8
ok, ich habe das jetzt noch mal in simplen Plugins nachgebaut. Hier funktioniert es. Da muss ich noch mal schauen wo der fehler liegt. Vielen Dank erst einmal.