【问题标题】:Delete category method is not working删除类别方法不起作用
【发布时间】:2013-06-03 10:43:06
【问题描述】:
我想删除空类别和子类别。我尝试了以下脚本。但它没有从管理面板中删除类别。我的magento版本是1.7.0.2
$categoryCollection = Mage::getModel('catalog/category')->getCollection()
->addFieldToFilter('level', array('gteq' => 2))
;
foreach($categoryCollection as $category) {
if ($category->getProductCount() === 0) {
$category->delete();
//$category->setId($category->getId())->delete();
}
}
【问题讨论】:
标签:
magento
collections
magento-1.7
categories
catalog
【解决方案1】:
试试
$categoryCollection = Mage::getModel('catalog/category')->getCollection()
->addFieldToFilter('level', array('gteq' => 2))
;
foreach($categoryCollection as $category) {
if (!$category->getProductCount()) {
$category->delete()->save();
//$category->setId($category->getId())->delete();
}
}
【解决方案2】:
您需要明确要求将产品计数添加到您的类别集合中:
$categoryCollection = Mage::getModel('catalog/category')
->getCollection()
->addFieldToFilter('level', array('gteq' => 2))
->setLoadProductCount(true);
否则$category->getProductCount() 将返回null,而不是=== 0