Magento 相信一直有个奇葩的问题困扰着你,就是利用SQL清空了产品分类数据库表之后,你会发现网站就不正常了。要么就是数据错乱要么就是程序报错了。其实脚本并没有错。只是这里有个大坑。
清空数据库后你发现没有任何报错,产品分类下也可以建子分类,没问题啊。如果你只看到这里就没管了等你产品数据上完日后你会自杀的心都有。怎么再现这个问题呢?
方法有二:
1、新建一个分类去网站前台访问这个地址,你会发现是404而不是分类下找不到数据。
2、在分类管理上面切换店铺,打开控制台你会发现Ajax报错了,错误信息是下面的;
Fatal error: Call to a member function getId() on a non-object in C:\wamp\www\magentno\lib\Varien\Data\Tree\Dbp.php on line 332
打开文件找到地方你会发现是构建树出了问题,然而你并没有改动程序;
当然网上给出了解决办法:
援引:https://stackoverflow.com/questions/15135659/fatal-error-in-magento-admin-part-add-category
援引:http://devstuffs.blogspot.com/2014/01/getId-fatal-error-magento-dbp.php.html
你大约可能也许会出现跟这2个沙雕一样的问题:
执行SQL结果是这样的:
这完全不是开往幼儿园的车啊!
其实这个问题到了这里不必惊慌,也没有必要重建数据库。
解决办法:
1、情况完分类数据后,把根分类激活编辑成你要的名字
2、System - Manage stores 点击红框处的链接进入编辑
把店铺根分类指定为你刚才建的分类保存即可:
这样的人设也是让人无语了。