0

クリーンなデータベースから始めるために、すべてのテスト カテゴリをクリアしたいと考えていました。次のコードですべてのカテゴリを削除しました

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 でカテゴリの 1 つを編集しようとすると、新しいルート カテゴリを作成するためのフォームしか表示されません。

これの原因は何ですか?SO で似たような別の問題を見つけましたが、そこに記載されている解決策 (mod_security を無効にする) ではうまくいきませんでした。だから私は何か他のことが起こっていると思います。カテゴリを適切に削除していない可能性が非常に高いです。

その方法の前にカテゴリを追加したので、API ではないことは確かです。その後、管理者でそれらを編集できました。

あなたの助けを待つことができません。

4

0 に答える 0