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();
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.
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.