Magento“将报价转换为订单”观察员没有触发正确的方法

时间:2016-03-02 14:19:52

标签: magento magento-1.9

以下是我的配置文件的事件部分。当报价项目转换为订单项目时,我想在产品上设置自定义选项。但是,问题是当报价转换为订单时,方法setCustomOptionsOnOrderItem没有被调用。

正在调用“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>  

1 个答案:

答案 0 :(得分: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> 

并在Observer文件中:

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