Come get i dati dell'Ordine Magento da Observer

Ok, ho cercato in tutto il web e niente ha funzionato. I risultati erano molto incoerenti. Permettimi prima di mostrarti cosa ho qui. Creerà un file di esportzione alla fine ma non è in grado di get dati e oggetti dell'ordine.

class Packagename_Modulename_Model_Observer { public function exportFeed (Varien_Event_Observer $observer) { $order = $observer->getEvent()->getOrder(); $ordered_items = $order->getAllItems(); 

e in config.xml

 <global> <events> <sales_order_place_after> <observers> <packagename_modulename_order_observer> <class>Packagename_Modulename_Model_Observer</class> <method>exportFeed</method> </packagename_modulename_order_observer> </observers> </sales_order_place_after> </events> </global> 

Ora, ho visto persone che usano senza Varien_Event_Observer in quel modo,

 public function exportFeed ($observer) 

Ho provato anche senza getEvent ()

 $order = $observer->getOrder(); 

e qualcosa di diverso in config.xml, con e senza singleton

 <type>singleton</type> <class>packagename_modulename/observer</class> 

Tutto quello che voglio fare è esportre un feed di inventario di quel particolare object ordinato quando viene effettuato un ordine tramite Magento.

Provare

In config.xml

 <config> <modules> <Packagename_Modulename> <version>1.3</version> </Packagename_Modulename> </modules> .... <global> <models> <packagename_modulename> <class>Packagename_Modulename_Model</class> </packagename_modulename> </models> <events> <sales_order_place_after> <observers> <packagename_modulename_order_observer> <type>singleton</type> <class>modulename/observer</class> <method>exportFeed</method> </packagename_modulename_order_observer> </observers> </sales_order_place_after> 

In Observer.php

 class Packagename_Modulename_Model_Observer { public function exportFeed($event) { $order = $event->getOrder(); foreach ($order->getAllVisibleItems() as $item){ $item->getQtyOrdered() // Number of item ordered //$item->getQtyShipped() //$item->getQtyInvoiced() $optionArray = $item->getProductOptions() // Todo : check to see if set and is arrays $optionArray['options'] foreach($optionArray['options'] as $option){ // Mage::log($option) //echo $option['label'] //$option['value'] } }