Hallo, ich habe im Backend, dem “Bestellung-Anzeigen”-Formular einige Felder hinzugefügt. Beispielsweise wenn die Zahlungsweise “Lastschrift” oder “SEPA” gewählt wird, werden Uusatzfelder angezeigt, welche angezeigt werden, ordentlich gefüllt werden, bearbeitet werden können, aber bim klicken auf “Bestellung”-Speicher, werden zwar die Daten gesendet (POST) aber in der Funktion /engine/Shopware/Controllers/backend/Order.php private function getAccociatedData($data, $order, $billing, $shipping)
verworfen. Siehe zimlich weit unten in der benannten Funktion: // For now the paymentInstances information is not editable, so it's just discarded at this point unset ( $data ['paymentInstances'] );
Das Kommentar sagt mir, das paymentInstances einfach verworfen wird. Die Frage ist nun wie kann ich in der Funktion: engine/Shopware/Controllers/backend/Order.php “saveAction()” vor der funktion Shopware ()-\>Models ()-\>flush ();
es erreichen, das ebenso meine Zahl-Daten mit gespeichert werden. Ich wäre sehr erfreut wenn ich informationen hier zu bekommen würde. Liebe Grüße.
Keiner eine Idee?
Du kannst einen Hook auf die Action ausführen: http://wiki.shopware.de/Shopware-4-Even … 1_866.html Mit $this-\>subscribeEvent( 'Enlight\_Controller\_Action\_Backend\_Order\_Save', 'onOrderSaveAction' );
sollte man sich registrieren können - ist nicht getestet! und der dazugehörige listener: public function onOrderSaveAction(Enlight\_Event\_EventArgs $arguments) { $controller = $arguments-\>getSubject(); $request = $controller-\>Request(); $response = $controller-\>Response(); }
und dann hier die Themenübersicht -> Am besten einmal von oben durcharbeiten: http://wiki.shopware.de/Grundlagen_cat_866.html