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'] } }