magento无法加载我的自定义模型

时间:2015-07-01 05:11:24

标签: magento magento-1.8

您好我有一个我不明白的问题,请有人帮助我。 我是关于1.8.1的 我在app->代码 - > local-> Mycompany

中有一个模块
  • Mycampany
    • TestModel
        • config.xml中
      • 模型
        • FirstModel.php

config.xml中的代码

<?xml version="1.0"?>
<config>
    <modules>
        <Mycompany_TestModel>
            <version>0.1.0</version>
        </Mycompany_TestModel>
    </modules>
    <global>
        <models>
            <TestModel>
                <class>Mycompany_TestModel_Model</class>
            </TestModel>
        </models>
    </global>
</config>
在FirstModel.php中的

代码

class Mycompany_TestModel_Model_FirstModel extends Mage_Core_Model_Abstract {

    public function output()
    {
        echo "get";
    }
}

当我使用

Mage::getModel('TestModel/FirstModel')

magento无法加载该类。

我测试过,它正在我的本地机器上工作。

请帮忙。

加。我也尝试过:

<?xml version="1.0"?>
<config>
    <modules>
        <Mycompany_TestModel>
            <version>0.1.0</version>
        </Mycompany_TestModel>
    </modules>
    <global>
        <models>
            <testmodel> /* instead of <TestModel> */
                <class>Mycompany_TestModel_Model</class>
            </testmodel>
        </models>
    </global>
</config>

我仍然无法得到任何东西

Mage::getModel('testmodel/FirstModel')

非常感谢。

1 个答案:

答案 0 :(得分:0)

使用magento fatory方法 [Mage :: getModel(&#39; testmodel / FirstModel&#39;)]

这意味着您需要使用它来定义模型。

按照magento的说法,当autoloader执行testmodel / FirstModel时运行如下:

testmodel=Mycompany_TestModel_Model

和 FirsModel错误,文件和名称应为Firstmodel,因为模型模型文件夹(Mycompany/TestModel/Model所有文件夹和文件名带大写字母的第一个字母和{{ 1}} a

这意味着文件应该是

  • after that all should be lower代替Firstmodel.php
  • FirstModel应为testmodel/FirstModel
  • testmodel/firstmodel应在NO underscore
  • 中使用