Я работаю над расширением, которое будет получать информацию о продукте из 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