复制magento root类别及其中的所有产品

时间:2014-05-07 11:46:41

标签: magento copy categories

  

我有一个magento root类别,其中大约有100万   产品

     

。现在我需要将此类别的产品复制到另一个类别

     你可以建议我怎么做呢

     

因为在管理员中我尝试创建一个新类别并分配   产品

but in one time i can assign 1500 and that will take so long如果我手动执行此操作。 所以请建议我怎么做。

1 个答案:

答案 0 :(得分:2)

假设产品类别的ID为10 并且您希望将所有产品复制到ID为20的类别 运行此脚本。

$sourceId = 10;
$destinationId = 20;
$source = Mage::getModel('catalog/category')->load($sourceId);
$destination = Mage::getModel('catalog/category')->load($destinationId);

$products = $source->getProductsPosition();
$destination->setPostedProducts($products);
$destination->save();

但请记住,目标类别中的所有产品都将从该类别中删除。

如果您想保留目的地类别中已有的产品,请使用以下内容。

$sourceId = 10;
$destinationId = 20;
$source = Mage::getModel('catalog/category')->load($sourceId);
$destination = Mage::getModel('catalog/category')->load($destinationId);

$products = $source->getProductsPosition();
$destinationProducts = $destination->getProductsPosition();
$destination->setPostedProducts(array_merge($products, $destinationProducts));
$destination->save();