2013-03-22 70 views
0

你好我是延長工作categories.i現在面臨的問題有關類別和products.I有超過2個類別,有相同的products.After創建新類我想要分配這些產品是在類別1存在,(1類和2類具有相同的產品)。它會移除產品組別產品由於我code.My代碼:指定產品,新添加的類別在Magento

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

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

我知道,由於setcatgoryIds其作用是去除其他entries.Can任何人都知道正確的功能或邏輯來解決這個問題。

回答

0

和您現有的所有條目作爲一個數組$categories_pd = $product->getCategoryIds();

只需添加新的類別這裏

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

然後在$categories_pd你所有需要的類別,以便設置它

$product->setCategoryIds($categories_pd); 
       $product->save(); 
+0

感謝您的答覆。我還發現如$產品 - > setCategoryIds另一種解決方案(array_merge(產品 - $> getCategoryIds(),陣列($ NEW_ID,$ old_category)))。 – 2013-03-22 07:49:37

+0

是好太多,我只是讓「簡單」與更多的步驟,以便讓你看到並瞭解它是如何工作:) – dagfr 2013-03-22 09:24:05