无法通过观察者以编程方式在magento中设置产品属性

时间:2014-01-20 13:53:24

标签: magento observers

我想在产品保存后更新产品描述属性。为此我使用名为catalog_product_save_after的观察者,并根据某些条件我创建产品的描述,我将保存描述产品按照以下代码

product->setDescription();
product->save();

问题是,当我调用product->save();网站正在加载并稍后加载时,我发现product->save();此功能再次调用catalog_product_save_after。这就是它进入无限循环的原因。

请帮我设置产品说明。

1 个答案:

答案 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);
    }
}