我想在产品保存后更新产品描述属性。为此我使用名为catalog_product_save_after
的观察者,并根据某些条件我创建产品的描述,我将保存描述产品按照以下代码
product->setDescription();
product->save();
问题是,当我调用product->save();
网站正在加载并稍后加载时,我发现product->save();
此功能再次调用catalog_product_save_after
。这就是它进入无限循环的原因。
请帮我设置产品说明。
答案 0 :(得分:1)
选项1:
您可以使用catalog_product_save_before
并使用$product->setDescription('something')
(不保存)
选项2
让你的观察者只运行一次。
function doSomething($observer) {
//some code here
$id = $product->getId();
if (!Mage::registry('observer_already_executed_'.$id)) {
//do your magic here
Mage::register('observer_already_executed_'.$id, 1);
}
}