当我按照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>
答案 0 :(得分:0)
最好使用catalog_product_save_before
事件。在您的观察者中,您应该只设置值,而不保存产品。