Câu trả lời:
Bạn có thể sử dụng đối tượng order_address để lấy địa chỉ giao hàng:
$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();
hoặc dùng
print_r(get_class_methods($address));
để xem các phương thức có thể được sử dụng trên đối tượng địa chỉ (địa chỉ $) là gì.
hy vọng nó giải quyết được vấn đề của bạn :)
Để lấy Địa chỉ từ một đối tượng đặt hàng, bạn có thể đơn giản làm $order->getShippingAddress()
Giả định
$order_id = 123; // put your order id here
$order = Mage::getModel('sales/order')->load($order_id);
Sau đó
$address = $order->getShippingAddress();
$custName = $address->getName();
$custAddr = $address->getStreetFull();
$region = $address->getRegion();
$country = $address->getCountry();
$address
trống khi tôi sử dụng $address = $order->getShippingAddress()
nhưng khi tôi sử dụng $address = Mage::getModel('sales/order_address')->load($shippingId);
Nó trả về địa chỉ
Shathish đã cho bạn một câu trả lời hay và chính xác.
Tuy nhiên, bạn có thể sử dụng phương thức singleton và truy vấn:
$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
chứa cả địa chỉ thanh toán và giao hàng.
Hy vọng nó sẽ làm việc cho bạn.