Magento - l'obtention de données à partir d'une commande ou de la facture
Je suis en train d'écrire un Magento (EC 1.4) extension pour exporter les données de la commande une fois la commande a été payé pour. J'ai mis en place un observateur crochets dans le sales_order_invoice_save_after de l'événement, et qui fonctionne correctement - ma fonction est exécutée lorsqu'une facture est générée. Mais je vais avoir du mal à obtenir des informations sur la commande, tels que l'adresse de livraison, adresse de facturation, les articles commandés, le montant total de la commande, etc.
C'est ma tentative:
class Lightbulb_Blastramp_Model_Observer {
public function sendOrderToBlastramp(Varien_Event_Observer $observer) {
$invoice = $observer->getEvent()->getInvoice();
$order = $invoice->getOrder();
$shipping_address = $order->getShippingAddress();
$billing_address = $order->getBillingAddress();
$items = $invoice->getAllItems();
$total = $invoice->getGrandTotal();
return $this;
}
}
J'ai essayé de faire un print_r sur toutes ces variables, et finit par obtenir un grand nombre de données. Quelqu'un pourrait-il me diriger dans la bonne direction de l'obtention de l'adresse de livraison d'une commande?
Merci!
OriginalL'auteur gregdev | 2011-11-22
Vous devez vous connecter pour publier un commentaire.
Beaucoup de Magento objets sont basés sur
Varien_Object
, qui a une méthode appeléegetData()
, pour obtenir l'habitude de données intéressante de l'objet (à l'exclusion des tonnes d'autres, mais la plupart du temps inutile données).Avec votre code, vous pouvez soit aller pour toutes les données à la fois:
ou directement pour des particuliers les propriétés de ce type:
Pour comprendre comment cela fonctionne, je vous recommande de vous rendre plus familier avec le
Varien_Object
et de lire un peu de PHPs les méthodes magiques, comme__call()
,__get()
et__set()
.OriginalL'auteur Jürgen Thelen
Essayer
print_r($shipping_address->toArray());
OriginalL'auteur Alex