我需要覆盖一个博客模型

时间:2017-05-04 13:53:08

标签: model override extension-methods

我想覆盖第三部分扩展的模型post.php etension中的config.xml就像这样

...
  <models>
            <blog>
                <class>AW_Blog_Model</class>
                <resourceModel>blog_mysql4</resourceModel>
            </blog>
            <blog_mysql4>
                <class>AW_Blog_Model_Mysql4</class>
                <entities>
                    <blog>
                        <table>aw_blog</table>
                    </blog>
                    <post>
                        <table>aw_blog</table>
                    </post>
                    <comment>
                        <table>aw_blog_comment</table>
                    </comment>
...

我想要覆盖的课程是

AW - &gt;博客 - &gt;型号 - &gt; Mysql4 - &gt;发布 - &gt; Collection.php

我的班级名称是

class JC_Blog_Model_Mysql4_Post_Collection extends AW_Blog_Model_Mysql4_Post_Collection {

并且位于此处

JC - &gt;博客 - &gt;模型 - &gt; Mysql4 - &gt; Collection.php

我的配置是

<?xml version="1.0"?>
<config>
    <modules>
        <JC_Blog>
            <version>0.1.0</version>
        </JC_Blog>
    </modules>
    <global>
        <models>
            <aw_blog_mysql4>
                <rewrite>
                    <post_collection>JC_Blog_Model_Mysql4_Post_Collection</post_collection>
                </rewrite>
            </aw_blog_mysql4>
        </models>

    </global>
</config>

和app / etc / modules / JT_ALL.xml

<?xml version="1.0"?>
    <config>
        <modules>
            <JC_Blog>
                <active>true</active>
                <codePool>local</codePool>
                <depends>
                    <AW_Blog />
                </depends>
            </JC_Blog>
        </modules>
    </config>

但不起作用

1 个答案:

答案 0 :(得分:0)

我在这里找到了解决方案

https://magento.stackexchange.com/questions/55194/overriding-third-party-extension-modules-model-not-working-local-on-local-overr

正确的config.xml就是这个

<?xml version="1.0"?>
<config>
    <modules>
        <JC_Blog>
            <version>0.1.0</version>
        </JC_Blog>
    </modules>
    <global>
        <models>
            <blog_mysql4>
                <rewrite>
                    <post_collection>JC_Blog_Model_Mysql4_Post_Collection</post_collection>
                </rewrite>
            </blog_mysql4>
        </models>

    </global>
</config>