0

嗨,我正在为类别进行扩展。我在类别和产品方面遇到问题。我有超过 2 个具有相同产品的类别。创建新类别后,我想分配存在于类别 1 下的那些产品,(类别 1 和类别 2 有相同的产品)。由于我的代码,它将从 category2 中删除产品。我的代码是:

  $collection = $category->getProductCollection();
        $collection->addAttributeToSelect('*');

        foreach ($collection as $product) {
                 $categories_pd = $product->getCategoryIds();                              
                    $product->setCategoryIds(array($new_cateid , $category1_id));
                    $product->save();
        }

我知道由于 setcatgoryIds 功能它删除了其他条目。任何人都可以知道正确的功能或逻辑来解决这个问题。

4

1 回答 1

0

随着$categories_pd = $product->getCategoryIds();您将所有现有条目作为一个数组。

只需在此处添加新类别

$categories_pd[]=$newid1;$categories_pd[]=$newid2...

然后在$categories_pd你有所有需要的类别所以只需设置它

$product->setCategoryIds($categories_pd);
                $product->save();
于 2013-03-22T07:43:19.757 回答