¿Cómo obtener la dirección de envío por ID de dirección de envío?

9

Tengo el objeto de pedido. De eso puedo obtener la identificación de la dirección de envío. ¿Alguien puede sugerir cómo derivar la dirección de envío mediante la identificación de la dirección de envío?

Sukeshini
fuente

Respuestas:

15

Puede usar el objeto order_address para obtener la dirección de envío:

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

o usar

print_r(get_class_methods($address)); 

para ver cuáles son los métodos que se pueden usar en el objeto de dirección ($ address).

espero que resuelva tu problema :)

Shathish
fuente
7

Para obtener la dirección de un objeto de pedido, simplemente puede hacer $order->getShippingAddress()

Asumiendo

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

Entonces

$address = $order->getShippingAddress();
$custName = $address->getName();
$custAddr = $address->getStreetFull();
$region = $address->getRegion();
$country = $address->getCountry();
Renon Stewart
fuente
Ya resolví mi pregunta hace meses. Aunque aprecio la respuesta. +1
Sukeshini
$addressestá vacío cuando lo uso $address = $order->getShippingAddress()pero cuando lo uso $address = Mage::getModel('sales/order_address')->load($shippingId);Devuelve la dirección
Pradeep Singh
2

Shathish te ha dado una respuesta agradable y correcta.

Sin embargo, puede usar el método singleton y una 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 contiene tanto la dirección de facturación como la de envío.

Espero que funcione para ti.

MagentoBoy
fuente
2
No probé tu solución. Pero creo que desarrollar de acuerdo con la forma en que se ha desarrollado Magento es mejor que usar consultas SQL directas en la fuente. De todos modos apreciamos tu sugerencia. Gracias
Sukeshini