【问题标题】:Magento core module rewrite class nameMagento核心模块重写类名
【发布时间】:2015-09-09 13:09:10
【问题描述】:

我试图重新声明一个核心模块模型类(Mage_Catalog_Model_Product)。 我创建了一个测试模块并将其命名为 First_Module 我还在其中创建了一个 config.xml 文件:

<?xml version="1.0"?>
<config>
   <default>
       <models>
           <catalog>
               <rewrite>
                   <product>First_Module_Model_Product</product>
               </rewrite>
           </catalog>
        </models>
   </default>
</config>

然后我创建了 app/code/local/First/Module/Model/Product.php 并在其中声明了一个类: First_Module_Model_Product 类扩展了 Mage_Catalog_Model_Product。

目录结构图片链接:http://i58.tinypic.com/abqetz.png

我还在 app/etc/modules 中创建了 First_Module.xml 文件:

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

然后我尝试运行测试但它不起作用:

Zend_Debug::dump( Mage::getStoreConfig('global/models/catalog') ) -> 
array(1) {
  ["rewrite"] => array(1) {
    ["product"] => string(26) "First_Module_Model_Product"
  }
}

$model = Mage::getModel('catalog/product');
Zend_Debug::dump(get_class($model)); // prints Mage_Catalog_Model_Product, but I wont to see First_Module_Model_Product.

我哪里错了?

【问题讨论】:

    标签: php magento config


    【解决方案1】:

    &lt;global&gt; 标签而不是&lt;default&gt; 标签中添加您的模型重写信息

     <global>
       <models>
           <catalog>
               <rewrite>
                   <product>First_Module_Model_Product</product>
               </rewrite>
           </catalog>
        </models>
    </global>
    

    【讨论】:

      猜你喜欢
      • 2015-09-22
      • 2014-11-24
      • 1970-01-01
      • 2013-04-01
      • 1970-01-01
      • 2014-07-08
      • 1970-01-01
      • 2019-01-08
      • 1970-01-01
      相关资源
      最近更新 更多