ich bin derzeit beschäftigt ein Plugin zu schreiben, welches den kompletten Regestrierungsprozess ersetzen soll.
Ich will quasi nur die POST Daten der Registrierung abfangen. Bis jetzt versuche ich es über:
public function install()
{
$this->subscribeEvent(
'Shopware_Controllers_Frontend_Register.saveRegisterAction',
'replaceRegister'
);
return true;
}
public function replaceRegister(Enlight_Event_EventArgs $args)
{
//code
$args->getSubject()->forward("finishedRegistration","callRegister");
}
Wenn ich nun eine Regestrierung absende, wird aber immer noch die Standardfunktion aufgerufen, und nicht meine Funktion “replaceRegister”.
Was mach ich falsch? woher weiß ich genau wie das Event heißt, welches ich ersetzen will?
damit ruft er zumindest schonmal meine Funktion auf. Nur leider leitet er mich nun nicht auf mein Template weiter, sonder auf die Startseite. Folgender Code greift nicht:
Wird dein Controller denn registriert oder klappt nur die Weiterleitung nicht?
Am besten rufst du mal /callRegister auf. Wenn der Controller registriert ist, solltest du auch irgendeine ausgabe bekommen (ggf. weiße Seite) oder du haust einen die(“Bla”); rein.
Zu 3. ich meine mal irgendwo darauf gestoßen zu sein: Da wandelt Shopware bei Event Listenern im Controller-Pfad die Datei und Verzeichnis Namen um, sodass die mit Großbuchstaben anfangen. Und dann wird die Datei Controller/Frontend/CallRegister.php nicht gefunden wenn diese callRegister.php heißt.