Plugin nach Speichern automatisch neu installieren

Ich habe jetzt zum ersten Mal ein Plugin geschrieben. Unschönerweise wird momentan sehr viel Code durch ein Event im Frontend ausgeführt. Darin wird auch die Konfiguration ausgelesen und genutzt. Um die Pluginkonfiguration anzuwenden, reicht es nicht das Plugin zu speichern. Man muss es auch neu installieren.

Jetzt die Frage:

1.) Kann ich das Plugin automatisch mit dem Speichern neu installieren, wenn ich das Event  Shopware_Controllers_Backend_Config_After_Save_Config_Element benutze?  Wenn ja, wie?

public static function getSubscribedEvents()
{
    return ['Shopware_irgend_ein_event' => 'onIrgendwas',
    'Shopware_Controllers_Backend_Config_After_Save_Config_Element' => 'onSave'];
}

public function onSave(\Enlight_Event_EventArgs $args)
{
    $this->install(); //geht nicht
}

 

@HamdIT schrieb:

Um die Pluginkonfiguration anzuwenden, reicht es nicht das Plugin zu speichern. Man muss es auch neu installieren.

Das stimmt so nicht. Die Pluginconfig ist nach speichern automatisch verfügbar.

Für eine Neuinstallation müsstest du das Plugin erstmal deinstallieren und dabei würdest du die komplette Config wieder auf die default Werte zurücksetzen.

Theoretisch müsste es möglich sein das Plugin über den PluginManager Service neu zu installieren, ich glaube allerdings nicht, dass das dein Problem löst.

Shopware()->Container()->get('shopware_plugininstaller.plugin_manager');

 

1 Like

Du hast recht, das war tatsächlich nicht mein Problem. Wie kann ich diesen peinlichen Thread löschen? … Immerhin hast du mir dadurch geholfen, ein Missverständnis zu beseitigen. Danke.