Der Kunde gibt die Bestellung mit unterschiedlichen Versand- / Rechnungsadressen ein.
Wenn wir die Bestellung in admin bearbeiten müssen, wird eine neue Bestellung erstellt. In der neuen Bestellung lautet die Lieferadresse standardmäßig "wie Rechnungsstellung" und die ursprüngliche Lieferadresse geht verloren!
- kann jemand bestätigen, ob seine Installation das gleiche tut.
- Hat jemand eine Lösung.
Antworten:
Ich hatte dieses Problem. Mein Problem war, dass
same_as_billing_address
die Versandadresse über das Frontend eingestellt wurde, daher dachte das Backend, es gäbe keine zweite Adresse und übersprang das Rendering.Überprüfen Sie Ihr Frontend, ob es korrekte Daten übermittelt.
quelle
same_as_billing_address
ist richtig eingestellt.Ich konnte es auf Magento 1.9 nicht reproduzieren.
Es gibt keinen Bugfix dafür, der in den Versionshinweisen erwähnt wird. In den Versionshinweisen zu 1.8.0.0 habe ich jedoch Folgendes gefunden :
Möglicherweise hängt dies damit zusammen und hat den Fehler ebenfalls behoben. Die Versionshinweise sind nicht immer vollständig.
quelle
Ich habe das gleiche Problem in den neuesten Magento 1.9.2.4 und 2.0.5 festgestellt.
Szenario:
Ergebnis: Die Lieferadresse geht verloren und stattdessen wird die Rechnungsadresse angezeigt.
Grund: Die Methode _isSameAsBilling () gibt immer true zurück , wenn die Bestellung von einem Gast aufgegeben wurde. Es ist kein richtiges Verhalten.
Die fragliche Methode:
Magento 2.0.5: /app/code/Magento/Quote/Model/Quote/Address.php
Magento 1.9.2.4: /app/code/core/Mage/Sales/Model/Quote/Address.php
Wie Sie sehen können, wenn der Kunde nicht registriert ist, gibt die Methode _isSameAsBilling () true zurück , auch wenn die Rechnungs- und Versandadressen unterschiedlich sind.
Dies hat schwerwiegende Auswirkungen auf alle Bestellungen, die über das Admin-Panel bearbeitet werden, da die ursprüngliche Lieferadresse verloren geht.
Ist das ein Fehler oder fehlt mir etwas?
quelle
Hatte das gleiche Problem mit Magento 1.7 und korrigierte es mit dieser Änderung auf: app / code / core / Mage / Adminhtml / Model / Sales / Order / Create.php
Sie müssen die Klasse auf saubere Weise überschreiben :)
Ändern Sie die Methode: _initShippingAddressFromOrder mit diesem Code:
quelle