¿Cómo obtener la dirección de envío por ID de dirección de envío?
-
16-10-2019 - |
Pregunta
Tengo el objeto de orden. 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 por ID de dirección de envío?
Solución
Puede usar el objeto orden_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 (dirección $).
Espero que resuelva tu problema :)
Otros consejos
Para obtener la dirección de un objeto de pedido, podría hacer simple $order->getShippingAddress()
Asumiendo
$order_id = 123; // put your order id here
$order = Mage::getModel('sales/order')->load($order_id);
Después
$address = $order->getShippingAddress();
$custName = $address->getName();
$custAddr = $address->getStreetFull();
$region = $address->getRegion();
$country = $address->getCountry();
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 de envío.
Espero que funcione para usted.