Como obter o endereço de entrega pelo ID do endereço de entrega?

9

Eu tenho o objeto de pedido. A partir disso, posso obter o ID do endereço de entrega. Alguém pode sugerir como obter o endereço de entrega pelo ID do endereço de entrega?

Sukeshini
fonte

Respostas:

15

Você pode usar o objeto order_address para obter o endereço de entrega:

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

ou use

print_r(get_class_methods($address)); 

para ver quais são os métodos que podem ser usados ​​no objeto de endereço ($ address).

espero que resolva seu problema :)

Shathish
fonte
7

Para obter o endereço de um objeto de pedido, você pode simplesmente fazer $order->getShippingAddress()

Assumindo

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

Então

$address = $order->getShippingAddress();
$custName = $address->getName();
$custAddr = $address->getStreetFull();
$region = $address->getRegion();
$country = $address->getCountry();
Renon Stewart
fonte
Eu já resolvi minha pergunta meses atrás. Mesmo que aprecie a resposta. +1
Sukeshini
$addressestá vazia quando eu uso $address = $order->getShippingAddress(), mas quando eu uso $address = Mage::getModel('sales/order_address')->load($shippingId);ele retorna o endereço
Pradeep Singh
2

Shathish deu uma resposta boa e correta.

No entanto, você pode usar o método singleton e uma consulta:

$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 contém o endereço de cobrança e de entrega.

Espero que funcione para você.

MagentoBoy
fonte
2
Não testei sua solução. Mas acho que desenvolver de acordo com a maneira como o Magento se desenvolveu é melhor do que usar consultas SQL diretas na fonte. De qualquer forma, agradeço sua sugestão. Obrigado
Sukeshini 25/13