以编程方式从Produkt中删除类别

时间:2014-02-24 09:46:11

标签: 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']) && 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中从一个类别移动到另一个类别)被选中。

2 个答案:

答案 0 :(得分:1)

您还需要保存您的产品:

$this->product->save();

答案 1 :(得分:0)

来自Keyur Shah的链接帮助了我。 我在理解系统如何保存类别时遇到了问题。 如果要从列表中删除一个,则需要加载所有并取消设置不再需要的类别,并使用自己的密钥添加新类别。 然后它工作。 ^^

非常感谢您的帮助