Jak uzyskać adres wysyłki za pomocą identyfikatora adresu wysyłki?

9

Mam obiekt zamówienia. Z tego mogę uzyskać identyfikator adresu wysyłki. Czy ktoś może zasugerować, jak uzyskać adres wysyłki na podstawie identyfikatora adresu wysyłki?

Sukeshini
źródło

Odpowiedzi:

16

Możesz użyć obiektu order_address, aby uzyskać adres wysyłki:

 $address = Mage::getModel('sales/order_address')->load($shippingId);
// $shippingId is the id you get from order object.
$custName = $address->getName();
$custAddr = $address->getStreetFull();
$region = $address->getRegion();
$country = $address->getCountry();

albo użyj

print_r(get_class_methods($address)); 

aby zobaczyć, jakie metody można zastosować na obiekcie adresu ($ address).

mam nadzieję, że to rozwiąże twój problem :)

Shathish
źródło
7

Aby uzyskać adres z obiektu zamówienia, możesz po prostu zrobić $order->getShippingAddress()

Zarozumiały

$order_id = 123; // put your order id here
$order = Mage::getModel('sales/order')->load($order_id);

Następnie

$address = $order->getShippingAddress();
$custName = $address->getName();
$custAddr = $address->getStreetFull();
$region = $address->getRegion();
$country = $address->getCountry();
Renon Stewart
źródło
Już kilka miesięcy temu rozwiązałem moje pytanie. Doceniam odpowiedź. +1
Sukeshini,
$addressjest pusty, gdy korzystam, $address = $order->getShippingAddress()ale kiedy używam $address = Mage::getModel('sales/order_address')->load($shippingId);Zwraca adres
Pradeep Singh
2

Shathish dał ci miłą i poprawną odpowiedź.

Możesz jednak użyć metody singleton i zapytania:

$shimnetId = "1"; // use your shipment id: 

$read = Mage::getSingleton('core/resource')->getConnection('core_read');

$query = "SELECT * FROM sales_flat_order_address WHERE entity_id='".$shipmentId."'";

$results = $read->fetchAll($query);

var_dump($results);

sales_flat_order_address zawiera zarówno adres rozliczeniowy, jak i adres wysyłki.

Mam nadzieję, że to zadziała.

MagentoBoy
źródło
2
Nie przetestowałem twojego rozwiązania. Ale myślę, że rozwijanie zgodnie ze sposobem, w jaki opracował Magento, jest lepsze niż używanie bezpośrednich zapytań SQL w źródle. W każdym razie doceń swoją sugestię. Dziękuję
Sukeshini,