每当我尝试更改密码或在我们的网站上下载测试订单时,我一直在“验证从basename'NotEmpty'找不到类错误。 当我检查error_log时,我看到以下错误,但我不知道这意味着什么......
PHP Fatal error: Call to undefined method Mage_Catalog_Model_Resource_Category_Flat_Collection::getAllIdsSql() in /public_html/app/code/core/Mage/Catalog/Model/Resource/Category/Tree.php on line 295
有没有人有任何线索?
答案 0 :(得分:4)
这是Magento的错误。
如果没有平面表格,Mage::getModel('catalog/category')->getCollection()
将返回Mage_Catalog_Model_Resource_Category_Collection
个对象,该对象从Mage_Eav_Model_Entity_Collection_Abstract
延伸,具有getAllIdsSql()
方法。
但是,如果启用了平面表,则集合将是Mage_Catalog_Model_Resource_Category_Flat_Collection
,它不会继承getAllIdsSql()
方法,从而导致您看到的错误。
http://www.magentocommerce.com/bug-tracking/issue/index/id/68
如果您有Enterprise支持,请与他们联系,他们将提供补丁。
可以使用补丁:https://gist.github.com/piotrekkaminski/25db530371b900d0d969
答案 1 :(得分:0)
此错误已在Magento Community Edition版本1.9.1.0中修复。 我建议将Magento安装升级到最新版本,其中还包括几个安全补丁,因为修改核心通常被认为是不好的做法,并最终导致将来很难识别和修复的问题。