我有一个magento root类别,其中大约有100万 产品
。现在我需要将此类别的产品复制到另一个类别
你可以建议我怎么做呢因为在管理员中我尝试创建一个新类别并分配 产品
but in one time i can assign 1500 and that will take so long
如果我手动执行此操作。
所以请建议我怎么做。
答案 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();