0

我是 Magento 的新手,所以我需要你的帮助来寻找解决方案。

我正在覆盖一个模块文件:app\code\core\Mage\Sales\Model\Quote\item.php

config.xml 示例代码:

<global>
    <models>
        <sales>
            <rewrite>
                <quote_item>Module_Name_Model_Sales_Quote_Item</quote_item>
            </rewrite>
      </sales>
   </models>
</global>

我的 item.php 文件仅包含扩展我需要覆盖的类的类名:

class Module_Name_Model_Sales_Model_Quote_Item extends Mage_Sales_Model_Quote_Item 
{

}

即使我还没有覆盖 item.php 中的任何方法,当我在浏览器中打开我的网站时,我也会收到以下错误。

Fatal error: Call to a member function getCollection() on a non-object in C:\Sites\porcani\branches\development\app\code\core\Mage\Sales\Model\Quote.php on line 706

任何人都知道为什么会发生这种情况以及如何解决它?提前致谢。

4

2 回答 2

0

尝试为文件名编写 Item.php 而不是 item.php(大写 I)。

于 2013-08-15T16:23:21.627 回答
0

您使用名称声明了您的课程,Module_Name_Model_Sales_Model_Quote_Item但在您拥有的配置文件中

<quote_item>Module_Name_Model_Sales_Quote_Item</quote_item>

在您的班级名称中,您有一个额外的_Model.

于 2013-08-15T18:54:01.693 回答