Php 以编程方式从产品中删除类别
我试图从产品中删除一个类别,但没有成功。 它仍然是该类别的产品 这是我正在使用的代码:Php 以编程方式从产品中删除类别,php,mysql,magento,erp,Php,Mysql,Magento,Erp,我试图从产品中删除一个类别,但没有成功。 它仍然是该类别的产品 这是我正在使用的代码: $categories = array(); $categories[] = $this->erp['mastercat']; if(isset($this->erp['article']['all_categories'])){ if(is_array($this->erp['article']['all_categories']) &&am
$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中将其从一个类别移动到另一个类别)。您还需要保存您的产品:
$this->product->save();
来自科尤尔·沙阿的链接帮助了我。 我在理解系统如何保存类别时遇到了问题。 如果要从列表中删除一个类别,则需要加载所有类别并取消设置不再需要的类别,然后使用自己的键添加新类别。 然后它就起作用了。 ^^ 非常感谢你的帮助