0

当我按照以下文章进行操作时,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>
4

1 回答 1

0

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

于 2012-09-24T10:59:58.630 回答