首页 文章

产品不会保存 . 永远处理

提问于
浏览
0

我正在为Magento做一个模块,我的模块具有与magento相同的Crosssell原生函数功能 . 我有这个产品网格,用户选择一些复选框将这些产品与主产品相关联 . 一切都好 .

但是,我创建了一个自定义属性来保存此产品的ID,并将一个Observer设为'catalog_product_save_after'事件:

<events>
        <catalog_product_save_after>
            <observers>
                <brindeproduto_save_product_data>
                    <type>singleton</type>
                    <class>brindeproduto/observer</class>
                    <method>saveProductTabData</method>
                </brindeproduto_save_product_data>
            </observers>
        </catalog_product_save_after>
    </events>

在我的saveProductTabData上,我按照请求中的ID加载主产品,并将选择产品的IDS放在我的自定义属性上,如“1,2,3,4,5,6” .

好的,但是当我做$ product-> save();我的浏览器无限加载,没有任何错误或异常 . 观察者的代码很简单 .

$product = Mage::getModel('catalog/product')->load($product_id);
//some logical Specific information that is not in question now.
$product->save();

而已 .

我尝试调试保存功能并获得一些有趣的结果 . 在Mage_Core_Model_Abstract函数save()中,我把一些骰子放在代码的一部分上,然后得到所有的代码 . 这段代码是Magento 1.5社区中保存第330行的功能的一部分 .

if ($dataCommited) {
        $this->_afterSaveCommit();
    }
    return $this;

这是功能的最后一行 . 我回来之前就死了 .

if ($dataCommited) {
        $this->_afterSaveCommit();
    }
    die('test');
    return $this;

我已经死了 . 但回来之前别无所求 . 有些身体有什么发生的意识?失去了5个小时 . 任何帮助都将受到赞赏 .

1 回答

  • 2

    你不应该在观察者中进行任何保存(* _save_after) .

    这将导致永无止境的循环

相关问题