我有一个类别" new"我希望通过每日cron分配最新的120种产品。 我试图覆盖分配给类别的产品ID。 有一种简单的方法,例如:
$类别 - > setProductIds(阵列())
答案 0 :(得分:0)
在PHP代码中,您可以在导入它们时将它们放入类别中。
假设您有一个名为$ product的产品和一个名为$ category_id
的类别ID您可以通过执行以下操作来设置产品所属的类别
$categories = array($category_id);
$product->setCategoryIds($categories);
$product->save();
如果产品已经有类别,并且您想再添加一个类别,那么您可以使用这样的getCategoryIds():
$categories = $product->getCategoryIds();
$categories[] = $categoryId;
$product->setCategoryIds($categories);
$product->save();
答案 1 :(得分:0)
它像这样工作
$category = Mage::getModel('catalog/category')->load($categoryID);
$product_array = $category->getProductsPosition()
... make changes ... format : $item[$product_id] => $position_in_category
$category->setPostedProducts($product_array);
$category->save();
答案 2 :(得分:0)
从类别中删除产品:
Mage::getSingleton('catalog/category_api')->removeProduct($category->getId(),$product->getId());
将产品添加到类别:
Mage::getSingleton('catalog/category_api')->assignProduct($category->getId(),$product->getId());
现在,您可以循环浏览所有产品,并使用类别ID将其分配到类别。
注意:这不会覆盖产品已经存在的任何类别。