はcatalog_category_entity
であなたのchildren_count
列を確認してください。私が1.6でやった問題があったなら、あなたはおそらく負の値を持っているでしょう。その場合は
、これを試してみてください。私は数ヶ月前にそれを使用する場合
が
UPDATE catalog_category_entity SET children_count = "1" WHERE children_count < 0;
これは、任意の悪影響を持っていませんでした。理想的には、children_count
を計算して正しく設定することをお勧めします。
編集:私も間違ったレベルで同じ問題がありました。すべての商品をインポートした場合、レベルに間違った値が含まれている可能性があります。あなたはサンドボックスを設定している場合は、これを試してみてください。
$categories = Mage::getModel('catalog/category')->getCollection();
foreach ($categories as $category) {
$category = $category->load($category->getId());
$path = $category->getPath();
$levels = explode('/', $path);
if (is_array($levels) && count($levels)) {
$category->setLevel(count($levels));
}
$resource = Mage::getSingleton('core/resource');
/**
* Category save handler doesn't save level when using
* the API. Use hard query instead.
*/
$writeConnection = $resource->getConnection('core_write');
$writeConnection->query('UPDATE catalog_category_entity SET level = ' . $category->getLevel() . ' WHERE entity_id = ' . $category->getId());
}
チェックこのサイト:http://www.sonassi.com/knowledge-base/magento-kb/magento-category -children-count-fix/- children_countクエリは私が必要としたものでした –