Auf Save -Button im (Admin Interface) Plugin-config reagieren? (Generell button events finden?)

Hi,
würde gerne Felder von meinem Plugin-config (im Admin-Interface), beim Drücken auf den ‚Save‘ -Button oben, rechts in einem DB-Feld speichern.
Finde aber in der Developer-docs dazu keine Infos/Beispiele, wie ich solche Events finde, ausser bei ‚Apps‘…

Generell, wie findet/reagiert man richtig (auf) diese Button-Events, sei es im Storefront, oder Admin?

Komisch, dass bei einer solchen Basic-Frage nicht jemand eine Antwort parat hatte…?
Vielleicht liegt es daran, dass wieder die Frage nicht in ‚Programmierung‘ ist, obwohl ich sicher war, das ich den Bereich ausgewählt hatte. Oder die Frage ist ZU basic?

Inzwischen habe ich im Symfony Profiler geschaut: Er stößt über api/_action/system-config/batch
SystemConfigController :: batchSaveConfiguration an.

Im Plugin-Code:

public function __construct(SystemConfigService $systemConfigService, $systemConfigController)
    {
        $this->systemConfigService = $systemConfigService;
        $this->systemConfigController = $systemConfigController;
    }

    public static function getSubscribedEvents(): array
    { 
                // Save-button abfangen, prod-nummer-data in die datenbank
        return [
            SystemConfigController::class => 'onBatchSaveConfiguration'
        ];
    }

    public function onBatchSaveConfiguration(SystemConfigController $event): void
    {
        echo '<pre>*';
        print_r($event);
        //dump();
        die();

In der services.xml hab ich:

<argument type="service" id="Shopware\Core\System\SystemConfig\SystemConfigService"/>
<argument type="service" id="Shopware\Core\System\SystemConfig\Api\SystemConfigController"/>
<tag name="kernel.event_subscriber"/> 

Leider passiert trotzdem beim Saven nicht, dass er in ```
onBatchSaveConfiguration springen würde.

Hat jemand eine Idee was fehlt?

Deine Frage ist, jetzt mit deinen Nachtrag, etwas verwirrend.

Meinst du mit Plugin-Config die Einstellungen, die man unter Erweiterungen > Plugin > Konfigurieren festlegen kann. Falls ja, Shopware speichert diese beim Speichern automatisch in der Datenbank als JSON.

Hi,
es geht darum, diese Werte in eine eigene DB-Tabelle im eigenen Plugin zu bekommen.

Und generell die Frage, wie hängt man sich an Button-Events z.b. im Admin-Interface.
Dass die Werte über SystemConfigService lesbar sind, weiß ich.

Wenn du kontrollieren möchtest, ob dieses Event aufgerufen werden wird, dann solltest du lieber in die error_log(‚logged‘); schreiben. Ansonsten wird dein XHR einfach nur abgebrochen.

Hi, danke Max für die Info.
Ja, deswegen hab ich dahinter die(); aber er bricht nix ab, also geht er gar nicht in
onBatchSaveConfiguration

Vermutung ist, ich hab nicht den richtigen Event erwischt, es geht nicht mit Controllern, oder es fehlt noch was (z.b. in services.xml).
Helfen würde z.b. wenn jemand bei eines der drei sagen konnte: klappt, das ist nicht das prob.
Oder ‚hab schon mal einen Event auf einen Controller, geht, sieht genau so aus‘… etc.

SystemConfigChangedEvent

Hmm, wo sich das bei Shopware6 befindet war nicht die Frage, das kenn ich, danke, oder was willst du damit sagen?

Das Event, dass beim ändern der SystemConfig aufgerufen wird lautet: SystemConfigChangedEvent

Ah, cool, danke werd ich ausprobieren!