如何复制Magento产品并添加一个只有一个"保存"操作的新SKU

Biz*_*oss 4 magento

我想复制一个产品,并在一个保存动作中连续给它一个新的sku.

我怎样才能做到这一点 ??

我试过这段代码:

$sku = '123456';
$product = Mage::getModel('catalog/product')
   ->loadByAttribute('sku',$sku); 

$newProduct = $product->duplicate();
$newProduct->setStatus(1);
$newProduct->setSku($sku.'-v2');
$newProduct->save();
Run Code Online (Sandbox Code Playgroud)

但它抛出了这个异常:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '3569-1' for key 'IDX_STOCK_PRODUCT'
Run Code Online (Sandbox Code Playgroud)

感谢帮助.

Tom*_*m S 5

$newProduct->save();
Run Code Online (Sandbox Code Playgroud)

应该是:

$newProduct->getResource()->save($newProduct);
Run Code Online (Sandbox Code Playgroud)

  • 我知道现在回答这个已经太晚了......但它可能对某人有所帮助.添加$ newProduct-> setData('media_gallery',array()); 在$ newProduct-> getResource() - > save($ newProduct)之前; 在这种情况下,图像不会重复. (5认同)