以下是我的配置文件的事件部分。当报价项目转换为订单项目时,我想在产品上设置自定义选项。但是,问题是当报价转换为订单时,方法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>
答案 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
}
}