2016-03-02 25 views
0

下面是我的配置文件的事件部分。當報價項目正在轉換爲訂單項目時,我想在產品上設置自定義選項。但是,問題是當報價轉換爲訂單時,setCustomOptionsOnOrderItem方法沒有被調用。Magento「將報價轉換爲訂單」觀察員沒有觸發正確的方法

改爲調用「catalogProductLoadAfter」方法。 Bu,試圖在此方法中訪問$orderItem = $observer->getOrderItem()是returninn null。

任何人都可以請指導我做錯了什麼。謝謝。

<events> 
    <customer_login> 
     <observers> 
      <loginredirect> 
       <class>xxxxxx/observer</class> 
       <method>xxxxx</method> 
      </loginredirect> 
     </observers> 
    </customer_login> 
<catalog_product_load_after> 
     <observers> 
      <extra_options> 
       <type>model</type> 
       <class>xxxxxx/observer</class> 
       <method>catalogProductLoadAfter</method> 
      </extra_options> 
     </observers> 
    </catalog_product_load_after> 
<sales_convert_quote_item_to_order_item> 
     <observers> 
      <quoteitem_set_custom_data> 
       <class>xxxxx/observer</class> 
       <method>setCustomOptionsOnOrderItem</method> 
      </quoteitem_set_custom_data> 
     </observers> 
    </sales_convert_quote_item_to_order_item> 
</events> 

回答

0

試試這個:

<sales_convert_quote_item_to_order_item> 
    <observers> 
     <mynamespace_mymodule_sales_convert_quote_item_to_order_item> 
      <type>singleton</type> 
      <class>Mynamespace_Mymodule_Model_Observer</class> 
      <method>setCustomOptionsOnOrderItem</method> 
     </mynamespace_mymodule_sales_convert_quote_item_to_order_item> 
    </observers> 
</sales_convert_quote_item_to_order_item> 

,並在觀測文件:

class Mynamespace_Mymodule_Model_Observer 
{ 
    public function setCustomOptionsOnOrderItem(Varien_Event_Observer $o) 
    { 
    // do your stuff here 
    } 
}