Как получить адрес доставки по идентификатору адреса доставки?


9

У меня есть объект заказа. Из этого я могу получить идентификатор адреса доставки. Кто-нибудь может подсказать, как определить адрес доставки по идентификатору адреса доставки?

Ответы:


15

Вы можете использовать объект order_address, чтобы получить адрес доставки:

 $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();

или использовать

print_r(get_class_methods($address)); 

чтобы увидеть, какие методы можно использовать для объекта адреса ($ address).

надеюсь, это решит вашу проблему :)


7

Чтобы получить адрес из объекта заказа, вы можете просто сделать $order->getShippingAddress()

Если предположить,

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

затем

$address = $order->getShippingAddress();
$custName = $address->getName();
$custAddr = $address->getStreetFull();
$region = $address->getRegion();
$country = $address->getCountry();

Я уже решил свой вопрос несколько месяцев назад. Хотя оцените ответ. +1
Sukeshini

$addressПусто, когда я использую, $address = $order->getShippingAddress()но когда я использую $address = Mage::getModel('sales/order_address')->load($shippingId);Это возвращает адрес
Pradeep Singh

2

Шатиш дал вам хороший и правильный ответ.

Однако вы можете использовать метод singleton и запрос:

$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 содержит как платежный, так и адрес доставки.

Надеюсь, это сработает для вас.


2
Я не проверял ваше решение. Но я думаю, что разработка в соответствии с тем, как разработал Magento, лучше, чем использование прямых SQL-запросов в источнике. В любом случае ценю ваше предложение. Спасибо
Sukeshini
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.