Magento:如何覆盖本地模块中的模型
我试图覆盖本地文件夹中的一个模块,该模块也在本地文件夹中,但我不知道这是否可行。这就是我所做的 我已经创建了/local/Mycompany/Modulename/Model/Model.php,我想覆盖/local/Othercompany/Modulename/Model/Model.php my model.php是:Magento:如何覆盖本地模块中的模型,magento,model,module,overriding,local,Magento,Model,Module,Overriding,Local,我试图覆盖本地文件夹中的一个模块,该模块也在本地文件夹中,但我不知道这是否可行。这就是我所做的 我已经创建了/local/Mycompany/Modulename/Model/Model.php,我想覆盖/local/Othercompany/Modulename/Model/Model.php my model.php是: class Mycompany_Modulename_Model_Model extends Othercompany_Modulename_Model_Model {
class Mycompany_Modulename_Model_Model extends Othercompany_Modulename_Model_Model
{
...
}
还有我的config.xml
<global>
<models>
<othercompanymodulename>
<rewrite>
<model>Mycompany_Modulename_Model_Model</model>
</rewrite>
</othercompanymodulename>
</models>
Mycompany\u模块名称\u模型\u模型
已使用Mage::getModel('othercompanymodulename/model')实例化该类
My Mycompany_Mymodule.xml
<config>
<modules>
<Mycompany_Modulename>
<active>true</active>
<codePool>local</codePool>
<depend>
<Othercompany_Modulename/>
</depend>
</Mycompany_Modulename>
</modules>
真的
地方的
但是我的模块被忽略了。是否可以在本地文件夹中重写也位于本地文件夹中的类?我做错了什么?打开你的[magento]\app\etc\modules\Mycompany\u Modulename.xml
<?xml version="1.0"?>
<config>
<modules>
<Mycompany_Modulename>
<active>true</active>
<codePool>local</codePool>
<depends>
<Othercompany_Modulename/>
</depends>
</Mycompany_Modulename>
</modules>
</config>
真的
地方的
上述代码强制其他公司模块名
首先加载
希望这对您有所帮助这可能是一个扩展冲突 如何检查和解决:
相关:如果我是对的,您在config.xml中覆盖模型的定义中遗漏了一个下划线:
<global>
<models>
<othercompany_modulename>
<rewrite>
<model>Mycompany_Modulename_Model_Model</model>
</rewrite>
</othercompany_modulename>
</models>
</global>
Mycompany\u模块名称\u模型\u模型
Mycompany\u Modulename\u Model\u上面覆盖的“othercompanymodulename”应该是othercompany模块中的型号名称,请确认我尝试了此操作,我们的模块冲突检测器仍在报告冲突。问:添加DEPEND语句是正确的方法还是应该单独扩展扩展类?(即,这两种解决方案是否相似???)如果来自另一个模块的代码位于社区代码池中怎么办?