Я попытался удалить категорию из продукта, но не смог. Он по-прежнему остается продуктом этой категории.
Это код, который я использую:
$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 из одной в другую категорию).