Sometime we need to copy same products to another category.(Like we have two stores with same category )
Adding product from back-end is very time consuming process you can do it by code.
You can create a file in your root directory copy-products.php with the following code to copy product:
<?php require_once ( "app/Mage.php" ); umask(0); // Initialize Magento Mage::app(); $category = Mage::getModel('catalog/category'); $category->load('24'); // Category id you want to copy $collection = $category->getProductCollection(); $collection->addAttributeToSelect('*'); foreach ($collection as $product) { $product->getId();// Now get category ids and add a specific category to them and save? $categories = $product->getCategoryIds(); $categories[] = 29; // Category id you want to add $product->setCategoryIds($categories); $product->save(); } ?>
2 Comments
Joe · July 21, 2016 at 7:08 pm
This script is useful and has saved me many hours manually going through products and assigning categories, however It seems to miss a few products out that I then have to assign manually.
E.g. Category has 46 products in it, I run the script and it only copies over 38.
Is this something we can reduce so it copies all of the products over?
rahul · January 11, 2017 at 12:53 pm
where i pass this code