提前致谢
我已经创建了一个观察者,我需要使用观察者设置属性值,请在我点击保存按钮时检查以下配置和观察者文件,观察者进入无尽的状态。我只想用这个观察者设置属性值
<catalog_product_save_after>
<observers>
<zaptech_save_product_data>
<type>singleton</type>
<class>upload/observer_product</class>
<method>saveTabData</method>
</zaptech_save_product_data>
</observers>
</catalog_product_save_after>
我的观察员处理程序代码在这里请检查
public function saveTabData(Varien_Event_Observer $observer)
{
$productModel=Mage::registry('current_product')
->setTestid('1')
->setTestname('Jitendra')
->save();
}
这段代码的问题在于观察进入无限循环
请帮助
再次感谢,
Jitendra Dhobi。
以下是我自己的问题的回答我将事件名称从catalog_product_save_after替换为catalog_product_save_before ..
<catalog_product_save_before>
<observers>
<zaptech_save_product_data>
<type>singleton</type>
<class>upload/observer_product</class>
<method>saveTabData</method>
</zaptech_save_product_data>
</observers>
</catalog_product_save_before>
并从
下面的观察者文件中删除save()方法public function saveTabData(Varien_Event_Observer $observer)
{
$productModel=Mage::registry('current_product');
$productModel->setTestid('1');
$productModel->setTestname('Jitendra');
}
欢呼!!! ...
答案 0 :(得分:0)
您可以使用注册表来确定自定义产品保存并防止循环。
public function saveTabData(Varien_Event_Observer $observer)
{
if(Mage::registry('customUpdate')) return;
Mage::register('customUpdate', true);
$productModel=Mage::registry('current_product')
->setTestid('1')
->setTestname('Jitendra')
->save();
}