【发布时间】:2012-01-24 11:19:26
【问题描述】:
我正在开发一个扩展程序,该扩展程序将在保存时从 Magento 接收产品信息并对产品进行自定义处理。
到目前为止,我已经花了 2 天时间试图弄清楚为什么 Magento 没有触发事件“catalog_product_status_update”。
简单地说,我通过转到目录-> 管理产品来更改产品状态,然后选择一个或多个产品并使用产品网格上方的“操作”字段将产品状态更改为“禁用”。
当我这样做时,产品状态会发生变化,但问题是我没有收到它的事件。 这是我使用的代码:
<?xml version="1.0"?>
<config>
<global>
<models>
<mage4ucustomredirect>
<class>Mage4u_Customredirect</class>
</mage4ucustomredirect>
</models>
<events>
<catalog_product_save_after>
<observers>
<abc>
<type>singleton</type>
<class>Mage4u_Customredirect_Model_Observer</class>
<method>on_catalog_product_save_after</method>
</abc>
</observers>
</catalog_product_save_after>
<catalog_product_status_update>
<observers>
<abc>
<type>singleton</type>
<class>Mage4u_Customredirect_Model_Observer</class>
<method>on_catalog_product_status_update</method>
</abc>
</observers>
</catalog_product_status_update>
</events>
</global>
</config>
这是观察者:
class Mage4u_Customredirect_Model_Observer
{
public function on_catalog_product_status_update(Varien_Event_Observer $observer)
{
Mage::log( "on_catalog_product_status_update" );
}
public function on_catalog_product_save_after(Varien_Event_Observer $observer)
{
Mage::log( "on_catalog_product_save_after" );
}
}
?>
奇怪的是,当我尝试手动保存产品时,我收到事件“on_catalog_product_save_after”,它告诉我我的代码工作正常,但它不适用于这个“on_catalog_product_status_update”事件。
感谢任何帮助!
注意:我使用的是 Magento v1.6.2.0
【问题讨论】:
标签: events magento status product