Magento:如何覆盖本地模块中的模型

Lor*_*ena 2 overriding model module local magento

我试图在本地文件夹中覆盖本地文件夹中的模块,但我不知道是否可能.这就是我所做的.

我创建了/local/Mycompany/Modulename/Model/Model.php,我想覆盖/local/Othercompany/Modulename/Model/Model.php

我的model.php是:

class Mycompany_Modulename_Model_Model extends Othercompany_Modulename_Model_Model 
Run Code Online (Sandbox Code Playgroud)

{...}

和我的config.xml

<global>
<models>
    <othercompanymodulename>
    <rewrite>
        <model>Mycompany_Modulename_Model_Model</model>
    </rewrite>
    </othercompanymodulename>
</models>
Run Code Online (Sandbox Code Playgroud)

该类已被实例化为Mage :: getModel('othercompanymodulename/model')

我的Mycompany_Mymodule.xml

<config>
<modules>
    <Mycompany_Modulename>
        <active>true</active>
        <codePool>local</codePool>
    <depend>
        <Othercompany_Modulename/>
        </depend>
    </Mycompany_Modulename>
</modules>
Run Code Online (Sandbox Code Playgroud)

但我的模块被忽略了.是否可以在本地文件夹中覆盖位于本地文件夹中的类?我做错了什么?

Shi*_*vam 5

打开[magento]\app\etc\modules\Mycompany_Modulename.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Mycompany_Modulename>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Othercompany_Modulename/>
            </depends>
        </Mycompany_Modulename>
    </modules>
</config> 
Run Code Online (Sandbox Code Playgroud)

上面的代码强制Othercompany_Modulename首先加载.

希望这能帮助你