Magento удалить назначение продуктов в категории

Я собираюсь создать скрипт php, который удалит продукты одной категории из другой.
Пример:
Есть 2 категории: cat1 и cat2
cat1 есть продукты с этим идентификатором: 1,2,3,4,5,6
и cat2 имеют продукты с этим идентификатором: 2,3,4
после того, как я запустил свой скрипт, у cat1 теперь есть продукты с идентификаторами: 1,5,6

private function _runScript($Cat1,$Cat2)
{
$category = Mage::getModel('catalog/category')->load($Cat1);

$productCollection = $category->setStoreId(0)->getProductCollection();

foreach($productCollection as $_product) {
$product = Mage::getModel('catalog/product')->load($_product->getId());

$newCategories = $origCats = $product->getCategoryIds();
if(!in_array($Cat2, $origCats)) {
$newCategories = array_diff($origCats, array($Cat2));
$product->setCategoryIds($newCategories)->save();
echo 'Assigned -- ' . $product->getId() . '<br />';
}
else{
$product = Mage::getSingleton('catalog/category_api')->removeProduct($Cat1,$product->getId());
echo 'Deleted -- ' . $product->getId() . '<br />';
}
}
echo 'Done';
}

но когда он запускает функцию «removeProduct», скрипт перестает запускаться.
Когда он впервые входит в другой случай, он удаляет продукт из категории, но не печатает «Удаленный — идентификатор продукта»!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]