Як отримати адресу доставки за ідентифікатором адреси доставки?


9

У мене є об’єкт замовлення. З цього я можу отримати ідентифікатор адреси доставки. Хто-небудь може запропонувати, як отримати адресу доставки за ідентифікатором адреси доставки?

Відповіді:


16

Ви можете використовувати об'єкт 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
Сукешині

$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 у джерелі. У будь-якому разі оцініть вашу пропозицію. Дякую
Сукешині,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.