Klient wprowadza zamówienie z różnymi adresami wysyłki / fakturowania.
jeśli musimy edytować zamówienie w admin, tworzy nowe zamówienie, w nowym zamówieniu domyślnie adres wysyłki jest taki sam jak „fakturowanie”, a oryginalny adres wysyłki zostaje utracony!
- może ktoś potwierdzić, czy ich instalacja robi to samo.
- czy ktoś ma rozwiązanie.
Odpowiedzi:
Miałem ten problem. Mój problem polegał na tym, że
same_as_billing_address
został ustawiony na adres wysyłki przez frontend, dlatego backend pomyślał, że nie ma drugiego adresu i pominął renderowanie.Sprawdź swój interfejs, czy przesyła poprawne dane.
źródło
same_as_billing_address
jest ustawiony poprawnie.Nie mogłem go odtworzyć na Magento 1.9.
Nie ma poprawki dla tego wymienionego w uwagach do wydania, jednak znalazłem następujące informacje w uwagach do wydania 1.8.0.0 :
Możliwe, że jest to powiązane i również naprawiło błąd. Informacje o wersji nie zawsze są kompletne.
źródło
Ten sam problem napotkałem w najnowszych wersjach Magento 1.9.2.4 i 2.0.5.
Scenariusz:
Wynik: adres wysyłki został utracony, a zamiast tego wyświetlony jest adres rozliczeniowy.
Powód: Metoda _isSameAsBilling () zawsze zwraca true, jeśli zamówienie zostało złożone przez gościa. To nie jest właściwe zachowanie.
Metoda, o której mowa:
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
Jak widać, jeśli Klient nie jest zarejestrowany, metoda _isSameAsBilling () zwraca wartość true, nawet jeśli adresy do fakturowania i wysyłki są różne.
Ma to poważny wpływ na wszystkie zamówienia edytowane za pomocą panelu administracyjnego, ponieważ oryginalny adres wysyłki został utracony.
Czy to błąd, czy coś brakuje?
źródło
Miałem ten sam problem z Magento 1.7 i poprawiłem z tą zmianą na: app / code / core / Mage / Adminhtml / Model / Sales / Order / Create.php
Musisz nadpisać klasę w czysty sposób :)
Zmień metodę: _initShippingAddressFromOrder za pomocą tego kodu:
źródło