[英]How to get Magento Order data from Observer
好的,我在網上搜索過,沒有任何效果。 結果非常不一致。 讓我先告訴你我在這里有什么。 它最終將創建一個導出文件,但無法獲取訂單數據和對象。
class Packagename_Modulename_Model_Observer
{
public function exportFeed (Varien_Event_Observer $observer)
{
$order = $observer->getEvent()->getOrder();
$ordered_items = $order->getAllItems();
在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>
現在,我見過人們在沒有Varien_Event_Observer的情況下使用,
public function exportFeed ($observer)
我也試過沒有getEvent()
$order = $observer->getOrder();
和config.xml中的不同之處,有和沒有單例
<type>singleton</type>
<class>packagename_modulename/observer</class>
我想要做的就是導出通過Magento下訂單時訂購的特定商品的庫存Feed。
嘗試
在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>
在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 array $optionArray['options']
foreach($optionArray['options'] as $option){
// Mage::log($option)
//echo $option['label']
//$option['value']
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.