Comment obtenir l'adresse de livraison par identifiant d'adresse de livraison?


9

J'ai l'objet de commande. De là, je peux obtenir l'ID de l'adresse de livraison. Quelqu'un peut-il suggérer comment dériver l'adresse de livraison par identifiant d'adresse de livraison?

Réponses:


15

Vous pouvez utiliser l'objet order_address pour obtenir l'adresse de livraison:

 $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 utiliser

print_r(get_class_methods($address)); 

pour voir quelles méthodes peuvent être utilisées sur l'objet adresse ($ address).

j'espère que cela résoudra votre problème :)


7

Pour obtenir l'adresse d'un objet de commande, vous pouvez simplement faire $order->getShippingAddress()

En supposant

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

alors

$address = $order->getShippingAddress();
$custName = $address->getName();
$custAddr = $address->getStreetFull();
$region = $address->getRegion();
$country = $address->getCountry();

J'ai déjà résolu ma question il y a des mois. Même si vous appréciez la réponse. +1
Sukeshini

$addressest vide quand j'utilise $address = $order->getShippingAddress()mais quand j'utilise $address = Mage::getModel('sales/order_address')->load($shippingId);Il retourne l'adresse
Pradeep Singh

2

Shathish vous a donné une réponse agréable et correcte.

Cependant, vous pouvez utiliser la méthode singleton et une requête:

$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 contient à la fois l'adresse de facturation et l'adresse de livraison.

J'espère que cela fonctionnera pour vous.


2
Je n'ai pas testé votre solution. Mais je pense qu'il est préférable de développer selon la façon dont Magento s'est développé plutôt que d'utiliser des requêtes SQL directes dans la source. Quoi qu'il en soit, appréciez votre suggestion. Merci
Sukeshini
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.