Hallo. Ich erstelle mir gerade ein Plugin, welches per Hook die Methode Register->saveRegisterAction mittels TypeReplace überschreibt. Nun wird in der Originalfunktion z.b. $this-\>savePersonalAction();
aufgerufen und im Fall von Fehlern die Variable $this-\>error = true;
gesetzt. Wie kann ich denn nun bei meiner Replace-Methode auf dieses Errorflag zugreifen? Ich versuche es wie folgt, aber das scheint nicht zu klappen. static function editedSaveRegister(Enlight\_Hook\_HookArgs $args) { $controller = $args-\>getSubject(); $req = $controller-\>Request(); if($req-\>isPost()) { $controller-\>savePersonalAction(); $controller-\>saveBillingAction(); if(!empty($args-\>post['billing']['shippingAddress'])) { $args-\>saveShippingAction(); } if(isset($args-\>post['payment'])) { $args-\>savePaymentAction(); } # Wenn bis hierher alles OK ist, eingreifen if(empty($args-\>error)) { # HIER MEIN CODE } if(empty($args-\>error)) { $controller-\>saveRegister(); } } $controller-\>forward('index'); }
Allerdings wird mein Code immer ausgeführt - auch wenn Felder in der Registrierung einfach leer gelassen werden. Wo ist mein Denkfehler? Gruß Dennis