我想覆盖一个核心模型类,但是我找不到正确的方法。
我已经在Google上搜索了很多,但是有些示例显示了如何覆盖不在app/code/core/Mage/Core/Model
文件夹中的模型,而有些示例显示了如何覆盖dir子目录中的模型Core
,例如app/code/core/Mage/Core/Model/Resources/Eav/Mysql4/
。
我已经阅读了示例,但是仍然找不到替代它的方法。例如,我想覆盖app/code/core/Mage/Core/Model/Store.php
这是我使用的xml,但无法正常工作。请帮助我找出哪一部分是错误的。提前致谢!
app/etc/models/My_Core
<config>
<modules>
<My_Core>
<active>true</active>
<codePool>local</codePool>
</My_Core>
</modules>
</config>
app/code/local/My/Core/etc/config.xml
<config>
<modules>
<My_Core>
<version>0.1.0</version>
</My_Core>
</modules>
<global>
<models>
<my_core_store>
<rewrite>
<class>My_Core_Model_Store</class>
</rewrite>
</my_core_store>
</models>
</global>
</config>
新的Store.php文件位于app/code/local/My/Core/Model/Store.php
。magento版本是1.8.1.0
您的config.xml有一些错误。按照这种方式。
< ?xml version="1.0"?>
<config>
<modules>
<my_core>
<version>0.1.0</version>
</my_core>
</modules>
<global>
<models>
<core>
<rewrite>
<store>My_Core_Model_Store</Store>
</rewrite>
</core>
</models>
</global>
</config>
并且在模型类中,您需要扩展父类名称。例如:My_Core_Model_Filename extends Mage_Core_Model_Store
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句