Magento两次保存产品

时间:2012-09-24 09:04:26

标签: magento

当我按照following article时,Magento会双重保存产品。

我添加了一个额外的字段,允许客户将博客帖子链接到产品,但是当我将$product->save()放在那里时,它会双重保存产品。当您同时添加图像(或创建新产品)时,这会产生双重图像

编辑:

以下是保存的代码

public function saveProductTabData(Varien_Event_Observer $observer)
{
if (!self::$_singletonFlag) {
    self::$_singletonFlag = true;

    $product = $observer->getEvent()->getProduct();

    try {
        /**
         * Perform any actions you want here
         *
         */


        $customFieldValue =  $this->_getRequest()->getPost('blogIDs');

        if(!empty($customFieldValue)){$blogIds = implode(',', @$customFieldValue);}

            if(!empty($blogIds)) { $product->setBlogids($blogIds);                } else { $product->setBlogids('0'); }    
        /**
         * Uncomment the line below to save the product
         *
         */
       // $product->save();
    }
    catch (Exception $e) {
        Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
    }
}
}

在config.xml中

    <events>
        <catalog_product_save_before>
            <observers>
                <pmit_save_product_data>
                    <type>singleton</type>
                    <class>blogextend/observer</class>
                    <method>saveProductTabData</method>
                </pmit_save_product_data>
            </observers>
        </catalog_product_save_before>
    </events>

1 个答案:

答案 0 :(得分:0)

最好使用catalog_product_save_before事件。在您的观察者中,您应该只设置值,而不保存产品。