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?
fuente
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?
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 :)
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();
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.
$address
está vacío cuando lo uso$address = $order->getShippingAddress()
pero cuando lo uso$address = Mage::getModel('sales/order_address')->load($shippingId);
Devuelve la dirección