Aynı sorunla en son Magento 1.9.2.4 ve 2.0.5 sürümlerinde karşılaştım.
Senaryo:
- Konuk sipariş verir
- Siparişin farklı Faturalandırma ve Gönderim adresleri var
- Yönetici, siparişi Yönetici Panelinde düzenler
Sonuç:
Gönderim adresi kaybolur ve bunun yerine Fatura adresi gösterilir.
Sebep: _isSameAsBilling () metodu her zaman döndürür gerçek düzen Misafir tarafından verilmiş olması kaydıyla. Doğru davranış değildir.
Söz konusu yöntem:
Magento 2.0.5: /app/code/Magento/Quote/Model/Quote/Address.php
protected function _isSameAsBilling()
{
return $this->getAddressType() == \Magento\Quote\Model\Quote\Address::TYPE_SHIPPING &&
($this->_isNotRegisteredCustomer() ||
$this->_isDefaultShippingNullOrSameAsBillingAddress());
}
Magento 1.9.2.4: /app/code/core/Mage/Sales/Model/Quote/Address.php
protected function _isSameAsBilling()
{
return ($this->getAddressType() == Mage_Sales_Model_Quote_Address::TYPE_SHIPPING
&& ($this->_isNotRegisteredCustomer() || $this->_isDefaultShippingNullOrSameAsBillingAddress()));
}
Müşterinin kayıtlı olup olmadığını görebileceğiniz gibi , Faturalandırma ve Gönderim adresleri farklı olsa bile _isSameAsBilling () yöntemi true değerini döndürür .
Orijinal Gönderim Adresi kaybolduğu için Yönetici Paneli üzerinden düzenlenen tüm siparişler üzerinde ciddi etkileri vardır.
Bu bir hata mı yoksa bir şey mi kaçırıyorum?