Magento 重写核心模型资源集合

标签 magento rewrite

我试图重写 Mage_Review_Model_Resource_Review_Summary_Collection。
模块被激活。
折叠结构与核心审查中的相同。

问题应该在xml中。

我的xml是:

<?xml version="1.0"?>
<config>
<modules>
    <LM_Review>
        <version>0.1.0</version>
    </LM_Review>
</modules>

<frontend>
    <routers>
        <review>
            <args>
                <modules>
                    <lm_review before="Mage_Review">LM_Review</lm_review>
                </modules>
            </args>
        </review>
    </routers>

    <layout>
        <updates>
            <lm_review>
                <file>lm/review.xml</file>
            </lm_review>
        </updates>
    </layout>

    <translate>
        <modules>
            <LM_Review>
                <files>
                    <default>LM_Review.csv</default>
                </files>
            </LM_Review>
        </modules>
    </translate>
</frontend>

<global>
    <models>
        <review_resource>
            <rewrite>
                <review_summary_collection>LM_Review_Model_Resource_Review_Summary_Collection</review_summary_collection>
            </rewrite>
        </review_resource>
    </models>
</global>
</config>

etc/modules 中的 LM_All.xml
<LM_Review>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Review />
            </depends>
</LM_Review>

app/code/local/LM/Review/Model/Resource/Review/Summary/Collection.php 中的 Collection.php
class LM_Review_Model_Resource_Review_Summary_Collection extends Mage_Review_Model_Resource_Review_Summary_Collection {

   public function addStoreFilter($storeId) {
      die('test');
   }

}

最佳答案

您的 XML 是正确的。有了上面的 XML,如果你调用工厂方法

Mage::getResourceModel('review/review_summary_collection') 

Magento 将尝试实例化一个
LM_Review_Model_Resource_Review_Summary_Collection

这意味着
  • Magento 看不到您的模块(没有 app/etc/module 文件,或者文件处于非事件状态,或者文件指向错误的代码池)
  • 您在 LM/Review/Model/Resource/Review/Summary/Collection.php 上没有文件在您的代码池中
  • Collection.php 中定义的类不是 LM_Review_Model_Resource_Review_Summary_Collection
  • Collection.php 中定义的类不延长 Mage_Review_Model_Resource_Review_Summary_Collection
  • 检查类名和路径名的拼写和大写/小写。这对 Magento 很重要。
  • 关于Magento 重写核心模型资源集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15906533/

    相关文章:

    hadoop - 如何再次覆盖/重用 Hadoop 作业的现有输出路径

    iis-7 - IIS 7 重写到不同的应用程序池

    php - Magento 1.1.2 在数据库中哪里存储订单?

    mysql - magento #1064 - 你的 SQL 语法有错误;

    javascript - 在 Magento 产品页面上添加动态 JS 代码

    .htaccess - .htaccess,带斜线或不带斜线

    regex - mod_rewrite 到 nginx 重写规则

    javascript - Magento 表单验证仅适用于组中的最后一个复选框

    mysql - 找不到 Magento 扩展错误基表

    .htaccess - 使用重定向/重写规则获取漂亮的浏览器 url 的问题