根据版本 1.7.1,你有这个错误_initCategories
功能。
protected function _initCategories()
{
$collection = Mage::getResourceModel('catalog/category_collection')->addNameToResult();
/* @var $collection Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Collection */
foreach ($collection as $category) {
$structure = explode('/', $category->getPath());
$pathSize = count($structure);
if ($pathSize > 1) {
$path = array();
for ($i = 1; $i < $pathSize; $i++) {
$path[] = $collection->getItemById($structure[$i])->getName();
}
$rootCategoryName = array_shift($path);
if (!isset($this->_categoriesWithRoots[$rootCategoryName])) {
$this->_categoriesWithRoots[$rootCategoryName] = array();
}
$index = implode('/', $path);
$this->_categoriesWithRoots[$rootCategoryName][$index] = $category->getId();
if ($pathSize > 2) {
$this->_categories[$index] = $category->getId();
}
}
}
return $this;
}
您应该有一个有效的实体 ID,位于$structure[$i]
。即在 catalog_category_entity
表中,应该有一个有效的entity_id
.
我在这里看到了 1.6.2 版本的类似问题。