"Problem mit replace hook" oder "Problem damit Daten nach Registrierung nicht zu speichern"

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?

Du möchtest die personenbezogenen Daten, die in Deutschland (und auch in der EU siehe auch DSGVO) besonders geschützt sind, statt über ein ziemlich sicheres System, in einer unverschlüsselten E-Mail quer über die Welt jagen? Am besten das Passwort auch noch in Klartext oder was?

 

Nein, das möchte ich nicht. Das war wahrscheinlich als Beispiel einfach blöd gewählt (;

Sagen wir einfach ich muss die Daten an ein anderes System weiterleiten.

Dafür gibt es die Customer Rest API

Dann hätte ich jedoch die Daten trotzdem in der Datenbank. Aber wenn ich das sowieso nicht umgehen kann, dann würde ich mich wahrscheinlich eher an das notify-Event in saveRegisterAction hängen. Die Frage ist dann jedoch wie ich den Inhalt selbst erzeugter Felder vom Anmelde-Formular in die Datenbank bekomme.

Wie soll das System denn laufen, wenn du die Daten gar nicht in der DB haben willst? Also für mich hört sich das hier sehr dubios und undurchdacht an. 

Viel Glück damit.