我尝试从产品中删除某个类别,但未成功使用该类别。 它仍然是该类别的产品。
这是我正在使用的代码:
$categories = array();
$categories[] = $this->erp['mastercat'];
if(isset($this->erp['article']['all_categories'])){
if(is_array($this->erp['article']['all_categories']) && count($this->erp['shop']['all_categories'])>0){
foreach($this->erp['article']['all_categories'] as $category){
if(!in_array($category,$categories)){
$categories[] = $category;
}
}
}else if(!empty($this->erp['article']['all_categories'])){
if(!in_array($this->erp['article']['all_categories'], $categories)){
$categories[] = $this->erp['article']['all_categories'];
}
}
}
$this->product->setCategoryIds($categories);
我正在使用一个空白数组,只将我需要的类别放入其中。
我不明白为什么以前选择的类别和新的类别(我将它在我的erp中从一个类别移动到另一个类别)被选中。
答案 0 :(得分:1)
您还需要保存您的产品:
$this->product->save();
答案 1 :(得分:0)
来自Keyur Shah的链接帮助了我。 我在理解系统如何保存类别时遇到了问题。 如果要从列表中删除一个,则需要加载所有并取消设置不再需要的类别,并使用自己的密钥添加新类别。 然后它工作。 ^^
非常感谢您的帮助