Magento CE18:无法使用信用卡保存新密码或下订单

时间:2014-05-03 01:33:32

标签: php magento

每当我尝试更改密码或在我们的网站上下载测试订单时,我一直在“验证从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

有没有人有任何线索?

2 个答案:

答案 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安装升级到最新版本,其中还包括几个安全补丁,因为修改核心通常被认为是不好的做法,并最终导致将来很难识别和修复的问题。