Magento - 在以编程方式删除和添加类别后,无法再编辑类别

时间:2013-10-01 10:01:15

标签: magento

我想清除所有测试类别,以干净的数据库开始。我使用以下代码删除了所有类别

Mage::app()->setCurrentStore(Mage::getModel('core/store')>load(Mage_Core_Model_App::ADMIN_STORE_ID));

// 1 is default store_id
$rootCategoryId = Mage::app()->getStore(1)->getRootCategoryId();

$resource = Mage::getSingleton('core/resource');
$db_read = $resource->getConnection('core_read');

$categories = $db_read->fetchCol("SELECT entity_id FROM " . $resource->getTableName("catalog_category_entity") . " WHERE entity_id>1 ORDER BY entity_id DESC");
foreach ($categories as $category_id) {
    if ($category_id == $rootCategoryId)
        continue;

    try {
        Mage::getModel("catalog/category")->load($category_id)->delete();
    } catch (Exception $e) {
        return $e->getMessage() . "\n";
    }
}

删除了根类别以外的所有内容。完成后,我通过API添加了类别,这非常顺利。现在出现问题:当我尝试编辑Magento Admin中的一个类别时,他只显示form to create a new root category

这可能是什么原因?我发现another issue在SO上看起来很相似,但那里提到的解决方案(禁用mod_security)并没有为我做好工作。所以我想还有其他事情要发生。我很有可能没有以良好的方式删除类别。

我很确定它不能是API,因为我之前添加了类别,之后我可以在管理员中编辑它们。

不能等待你的帮助。

0 个答案:

没有答案