Erweiterung der Seite: Zahlungsweise-Auswahl

Hallo Community. Ich möchte gerne die Seite, auf der der Kunde die Zahlungsweise ändert ein wenig erweitern und brauche dazu etwas Hilfe. Die (geplanten) Änderungen/Erweiterungen im Einzelnen: [list=1] [*] Die Eingabe der Kontoverbindung ist NUR möglich, wenn Zahlart „Lastschrift“ ausgewählt wurde. Die Felder werden ausgegraut, wenn eine andere Zahlart ausgewählt ist. Dazu hänge ich an jeden Radiobutton ein onClick()-Event welches die Eingabefelder aktiviert bzw. deaktiviert. Desweiteren wird beim Aktivieren der Zahlart „Lastschrift“ der Name des Kunden in das Namensfeld gesetzt, sofern dieses Feld (noch) leer ist. Beim Öffnen der Seite (Anwender klickt auf „Zahlungsart ändern“) müssen die Eingabefelder entspr. der aktuellen Auswahl aktiviert/deaktiviert sein. [color=blue][i]Frage: Hänge ich mich da in ein onLoad()-Event (

) ein oder gibt es ein entsprechendes Event beim Laden einer Seite?[/i][/color][/*] [*] Beim Verlassen des Feldes „Bankleitzahl“ wird der Name der Bank aus einer Tabelle ausgelesen und eingesetzt, sofern dieses Feld (noch) leer ist. Der Kunde kann den Namen der Bank anschließend immer noch überschreiben. ( ajax / onBlur() )[/*] [*] Erweiterte Validierung der Kontoverbindung Derzeit wird fast nichts validiert, außer leere Felder. Es soll validiert werden, ob die KtoNr. und die BLZ rein numerisch sind (bestenfalls whitespaces zum Trennen von Nummernblöcken). Darüber hinaus soll der Name des Kontoinhabers mit dem Namen des Kunden übereinstimmen (oder hat Jemand eine Idee, warum das nicht zwingend so sein muss?) und mit Hilfe der o.g. DB-Tabelle wird geprüft (anhand der Prüfziffer), ob die angegebene KtoNr zu der BLZ passt. [color=blue]Frage: WO finde ich diese Validierungsfunktion (die, die derzeit zumindest auf „leeres Feld“ überprüft)? Ich habe gesucht in: \shopware\engine\Shopware\Controllers\Frontend in Account.php und Payment.php. Per FirePHP-log habe ich keine Funktion gefunden, die beim Klicken auf „Ändern“ (Speichern und vorher validieren) aufgerufen wird.[/color][/*][/list] Ich wäre dankbar für jeden Tip zu o.g. Fragen.

Zu 3. Schau dir mal die Funktion savePaymentAction() in der Datei engine/Shopware/Controllers/Frontend/Account.php an. Hier werden die Felder validiert.

[quote=“ottscho”]Zu 3. Schau dir mal die Funktion savePaymentAction() in der Datei engine/Shopware/Controllers/Frontend/Account.php an. Hier werden die Felder validiert.[/quote] ottscho, danke erst mal für die prompte Antwort. savePaymentAction() war auch mein Kandidat, aber diese Funktion wird NICHT aufgerufen (habe ich per FirePHP “ermittelt”…und ich habe 3 x alle caches geleert, weil ich es nicht “wahr haben wollte” :slight_smile: ).

[/code]

Und der Button „Ändern“ macht nur ein Submit. Also wird definitiv der Controller „Account“ und die Action „savePayment“ aufgerufen :wink:

Na gut…überredet :slight_smile: durch das submit wird eben direkt nach der Funktion (savePaymentAction) eine neue Seite geladen, was dazu führt, dass das Log (innerhalb der Funktion) direkt wieder gelöscht wird (in der FirePHP-Console)…hätte ich auch selbst drauf kommen können… Danke nochmal!