Hallo zusammen,
ich bin neu in Shopware und möchte ein Plugin schreiben, welches dafür sorgt, dass nachdem das Registrierungsformular abgesendet wurde, die Daten nicht in die Datenbank geschrieben werden. Stattdessen sollen die Daten z.B. per Mail versandt werden.
Als Funktion an der ich ansetzen muss habe ich die Funktion saveRegisterAction aus dem Register Controller ausgemacht. Da ich vermute, dass man das nicht per Registrierung auf einem Event lösen kann (bitte korrigiert mich, falls ich falsch liege), versuche ich nun die Funktion mit einem Replace Hook zu ersetzen.
Meine Datei im Subscriber-Ordner sieht wie folgt aus:
'replaceRegister',
];
}
public function replaceRegister(\Enlight_Hook_HookArgs $args)
{
$parent = $args->getSubject();
$data = $parent->getPostData();
/* work with $data */
}
}
Allerdings funktioniert das nicht, weil die getPostData-Funktion nicht bekannt zu sein scheint. Die Datei wird in der Methode benutzt, die ich hier überschreiben möchte. Dabei dachte ich, dass ich wenn ich vorher getSubject nutze, es funktionieren sollte. Ich bekomme folgenden Fehler im Frontend angezeigt:
Method „Shopware_Proxies_ShopwareControllersFrontendRegisterProxy::getPostData“ not found failure in engine/Library/Enlight/Event/Handler/Default.php on line 91
Was mache ich falsch?