magento管理部件添加类别中出现致命错误

magento管理部件添加类别中出现致命错误,magento,Magento,我在Magento管理部分遇到一个错误,当我尝试创建一个类别时,它显示以下致命错误: 致命错误:在C:\wamp\www\magento\lib\Varien\Data\Tree\Dbp.php的第331行对非对象调用成员函数getId() 有人能帮我吗?如何解决这个问题?有人能给我建议解决办法吗?啊。核心代码调试。我必须一直这样做 在该代码上放置一个try catch,并记录错误结果。这将使您更好地了解哪条线路有问题。检查php日志以获取结果 public function loadEnsur

我在Magento管理部分遇到一个错误,当我尝试创建一个类别时,它显示以下致命错误:

致命错误:在C:\wamp\www\magento\lib\Varien\Data\Tree\Dbp.php的第331行对非对象调用成员函数getId()


有人能帮我吗?如何解决这个问题?有人能给我建议解决办法吗?

啊。核心代码调试。我必须一直这样做

在该代码上放置一个try catch,并记录错误结果。这将使您更好地了解哪条线路有问题。检查php日志以获取结果

public function loadEnsuredNodes($category, $rootNode)
 {
    try {
       $pathIds = $category->getPathIds();
       $rootNodeId = $rootNode->getId();
       $rootNodePath = $rootNode->getData($this->_pathField);

       $select = clone $this->_select;
       $select->order($this->_table.'.'.$this->_orderField . ' ASC');

    } catch (Exception $e) {
        error_log($e);
    } 
如果错误仍然存在,请尝试在隔离环境中使用该代码。创建一个文件test.php并将其放入magento根目录中

<?php
   umask(0);
   require_once 'app/Mage.php';
   Mage::app('admin');
   echo "<PRE>";

   $category_id = 12;
   $rootNode = ??? load a root node what is this?

   $category = Mage::getModel('catalog/category')->load($category_id);
   var_dump($category->debug());

   $pathIds = $category->getPathIds();
   var_dump($pathIds);

   $rootNodeId = $rootNode->getId();
   var_dump($rootNodeId);

运行此SQL查询,它应该立即清理:)

插入到
目录类实体
实体id
实体类型id
属性集id
父id
创建,
更新,
路径
位置
级别
子项计数
)值(1,3,0,0,'0000-00-00 00:00:00','2009-02-20 00:25:34','1',1,0,1),(2,3,3,0,'2009-02-20 00:25:34','2009-02-20 00:25:34','1/2',1,1,0); 将值(1,3,32,0,2,1)、(2,3,32,1,2,1)插入
catalog\u category\u entity\u int
value\u id
entity\u id
实体类型id
代码>实体类型id
代码>实体类型id
属性id
存储id
); 将值(1,3,31,0,1,'Root-catalog'),(2,3,33,0,1,'Root-catalog'),(3,3,31,0,1,'Root-catalog'),(3,3,0,2,'Default catalog'),(4,3,3,3,0,3,'0,3,3,'0,3,'0,3,'0,1,'Root-catalog'),(3,3,2,'Default catalog'),(4,3,3,3,3,3,3,3,3,3,3,0,3,'0,3,'这个答案

INSERT INTO catalog_category_entity(entity_id,entity_type_id,attribute_set_id,parent_id,created_at,updated_at,path,POSITION,level,children_count) VALUES (1,3,0,0,'0000-00-00 00:00:00','2009-02-20 00:25:34','1',1,0,1),(2,3,3,0,'2009-02-20 00:25:34','2009-02-20 00:25:34','1/2',1,1,0);
INSERT INTO catalog_category_entity_int(value_id,entity_type_id,attribute_id,store_id,entity_id,value) VALUES (1,3,32,0,2,1),(2,3,32,1,2,1); 
INSERT INTO catalog_category_entity_varchar(value_id,entity_type_id,attribute_id,store_id,entity_id,value) VALUES (1,3,31,0,1,'Root Catalog'),(2,3,33,0,1,'root-catalog'),(3,3,31,0,2,'Default Category'),(4,3,39,0,2,'PRODUCTS'),(5,3,33,0,2,'default-category');    

thanx帮了我大忙!但我的数据库中有一个表前缀,所以 以防它对任何人都不起作用 更改…所有我相信的3“插入目录\类别\实体” 使用
“插入到\u在此处添加\u数据库前缀\u目录\u类别\u实体


而且它应该会起作用……不管有多大的帮助!

谢谢,你救了我:D
INSERT INTO catalog_category_entity(entity_id,entity_type_id,attribute_set_id,parent_id,created_at,updated_at,path,POSITION,level,children_count) VALUES (1,3,0,0,'0000-00-00 00:00:00','2009-02-20 00:25:34','1',1,0,1),(2,3,3,0,'2009-02-20 00:25:34','2009-02-20 00:25:34','1/2',1,1,0);
INSERT INTO catalog_category_entity_int(value_id,entity_type_id,attribute_id,store_id,entity_id,value) VALUES (1,3,32,0,2,1),(2,3,32,1,2,1); 
INSERT INTO catalog_category_entity_varchar(value_id,entity_type_id,attribute_id,store_id,entity_id,value) VALUES (1,3,31,0,1,'Root Catalog'),(2,3,33,0,1,'root-catalog'),(3,3,31,0,2,'Default Category'),(4,3,39,0,2,'PRODUCTS'),(5,3,33,0,2,'default-category');