首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magento:如何覆盖审查/模型/资源/集合.php

Magento:如何覆盖审查/模型/资源/集合.php
EN

Stack Overflow用户
提问于 2012-10-30 06:07:35
回答 2查看 4.1K关注 0票数 4

我尝试重写/app/code/core/Mage/Review/Model/Resource/Review/Collection.php和/app/code/core/Mage/Review/Model/Resource/Review.php

步骤1: /app/etc/modules/Lbb_Review.xml

代码语言:javascript
复制
<?xml version="1.0"?>

<config>
     <modules>
        <Lbb_Review>
            <active>true</active>
            <codePool>local</codePool>
        </Lbb_Review>
     </modules>
</config>

步骤2: /app/code/local/Lbb/Review/etc/config.xml

代码语言:javascript
复制
<?xml version="1.0"?>

    <config>  
        <modules>  
            <Lbb_Review>  
                <version>0.1.0</version>  
            </Lbb_Review>  
        </modules>  
        <global>  
            <models>  
                <review_resource>  
                    <rewrite>  
                            <review>Lbb_Review_Model_Resource_Review</review>  
                    </rewrite>  
                </review_resource>  

                <review_resource_review>  
                    <rewrite>  
                            <collection>Lbb_Review_Model_Resource_Review_Collection</collection> 
                    </rewrite>
                </review_resource_review>  
            </models>  
        </global>  
    </config>  

step3:

/app/code/local/Lbb/Review/Model/Resource/Review.php

代码语言:javascript
复制
<?php

class Lbb_Review_Model_Resource_Review extends Mage_Review_Model_Resource_Review
{
    protected function _afterSave(Mage_Core_Model_Abstract $object)
    {
        echo 'test';
    }
}

/app/code/local/Lbb/Review/Model/Resource/Review/Collection.php

代码语言:javascript
复制
<?php

class Lbb_Review_Model_Resource_Review_Collection extends Mage_Review_Model_Resource_Review_Collection
{
    /**
     * init select
     *
     * @return Mage_Review_Model_Resource_Review_Product_Collection
     */
    protected function _initSelect()
    {
        parent::_initSelect();
        $this->getSelect()
            ->join(array('detail' => $this->_reviewDetailTable),
                'main_table.review_id = detail.review_id',
                array('detail_id', 'title', 'detail', 'nickname', 'size', 'customer_id'));
        return $this;
    }
}

我不知道问题出在哪里!

EN

回答 2

Stack Overflow用户

发布于 2012-10-30 10:35:27

关。集合重写有点不太对劲:

步骤2: /app/code/local/Lbb/Review/etc/config.xml

代码语言:javascript
复制
<?xml version="1.0"?>
<config>  
    <global>  
        <models>  
            <review_resource>  
                <rewrite>  
                    <review_collection>Lbb_Review_Model_Resource_Review_Collection</review_collection> 
                </rewrite_resource>
            </review>  
        </models>  
    </global>  
</config>

这将适用于Magento CE1.6+ / EE1.11+,BTW。

票数 5
EN

Stack Overflow用户

发布于 2014-09-30 22:21:53

代码语言:javascript
复制
    <?xml version="1.0"?> 
      <config>  
        <global>  
            <models>  
                <review_resource>
                    <rewrite>
                      <review>Namespace_ModuleName_Model_Resource_Review</review>
                    </rewrite>
                    <rewrite>  
                      <review_collection>
                          Namespace_ModuleName_Model_Resource_Review_Collection
                      </review_collection>
                    </rewrite>
                </review_resource>
            </models>  
        </global>   
      </config>

附言: benmarks的答案有拼写错误,所以添加了这个,功劳归于他:)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13130358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档