Magento - 将多个产品ID分配给一个类别

时间:2015-12-03 11:40:00

标签: magento collections categories

我有一个类别" new"我希望通过每日cron分配最新的120种产品。 我试图覆盖分配给类别的产品ID。 有一种简单的方法,例如:

$类别 - > setProductIds(阵列())

3 个答案:

答案 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(),$p‌​roduct->getId());

将产品添加到类别:

Mage::getSingleton('catalog/category_api')->assignProduct($category->getId(),$p‌​roduct->getId());

现在,您可以循环浏览所有产品,并使用类别ID将其分配到类别。

注意:这不会覆盖产品已经存在的任何类别。