rob*_*bgt 19 magento categories
我正在使用Magento 1.4.0.1.我有超过21000个简单的产品,每个产品都进入一个类别.我的网站有数百个类别.某些产品属于多个类别.我有什么方法可以以编程方式将产品添加到多个类别中吗?
Jos*_*ton 54
在PHP代码中,您可以在导入它们时将它们放入类别中.
假设您有一个名为$ product的产品和一个名为$ category_id的类别ID
您可以通过执行以下操作来设置产品所属的类别
$categories = array($category_id);
$product->setCategoryIds($categories);
$product->save();
Run Code Online (Sandbox Code Playgroud)
如果产品已经有类别,并且您想再添加一个类别,那么您可以getCategoryIds()像这样使用:
$categories = $product->getCategoryIds();
$categories[] = $categoryId;
$product->setCategoryIds($categories);
$product->save();
Run Code Online (Sandbox Code Playgroud)
或者,正如Joshua Peck在评论中所提到的,您可以使用该category_api模型在类别中添加或删除产品,而不会影响其当前的类别分配:
Mage::getSingleton('catalog/category_api')
->assignProduct($category->getId(),$p??roduct->getId());
Mage::getSingleton('catalog/category_api')
->removeProduct($category->getId(),$p??roduct->getId());
Run Code Online (Sandbox Code Playgroud)
Jos*_*ack 18
我只想补充一点,您可以删除并添加getSingleton类别API:
要从类别中删除产品:
Mage::getSingleton('catalog/category_api')->removeProduct($category->getId(),$p??roduct->getId());
Run Code Online (Sandbox Code Playgroud)
要将产品添加到类别:
Mage::getSingleton('catalog/category_api')->assignProduct($category->getId(),$p??roduct->getId());
Run Code Online (Sandbox Code Playgroud)
这不会覆盖产品已经存在的任何类别
| 归档时间: |
|
| 查看次数: |
50785 次 |
| 最近记录: |