您好我正致力于扩展类别。我面临类别和产品方面的问题。我有两个以上类别的相同产品。创建新类别后,我想分配那些存在于category1下的产品,(类别1和类别2具有相同的产品。)由于我的代码,它将从类别2中删除产品。我的代码是:
$collection = $category->getProductCollection();
$collection->addAttributeToSelect('*');
foreach ($collection as $product) {
$categories_pd = $product->getCategoryIds();
$product->setCategoryIds(array($new_cateid , $category1_id));
$product->save();
}
我知道由于setcatgoryIds函数,它删除了其他条目。任何人都知道正确的功能或逻辑来解决这个问题。
答案 0 :(得分:0)
使用$categories_pd = $product->getCategoryIds();
,您可以将所有现有条目作为数组。
只需在此处添加新类别
$categories_pd[]=$newid1;$categories_pd[]=$newid2...
然后在$categories_pd
中你有所有需要的类别,所以只需设置它
$product->setCategoryIds($categories_pd);
$product->save();