无法覆盖Magento中的核心模型

时间:2010-07-16 12:33:32

标签: model magento override

我正在尝试覆盖Mage_Catalog_Model_Layer_Filter_Category。 在system.log中,我收到警告:

  

警告:include(Mycomp_Catalog_Model_Layer_Filter_Category.php):无法打开流:第93行/var/www/magento/includes/src/Varien_Autoload.php中没有此类文件或目录   警告:include():在/ var中打开'mycomp_Catalog_Model_Layer_Filter_Category.php'以包含(include_path ='/ var / www / magento / includes / src:。:/ usr / share / php:/ usr / share / pear')失败第93行/www/magento/includes/src/Varien_Autoload.php

我做错了什么?

Mycomp / Catalog / etc / config.xml:

<?xml version="1.0"?>
<config>
<modules>
    <Mycomp_Catalog>
        <version>0.1.0</version>
    </Mycomp_Catalog>
</modules>
<global>
    <models>
        <catalog>
            <rewrite>                    
                <layer_filter_category>Mycomp_Catalog_Model_Layer_Filter_Category</layer_filter_category>
            </rewrite>
        </catalog>
    </models>
</global>

Mycomp / Catalog / Model / Layer / Filter / Category.php:

class Mycomp_Catalog_Model_Layer_Filter_Category extends  Mage_Catalog_Model_Layer_Filter_Category
{

} 

应用程序的/ etc /模块/ Mycomp_All.xml:

<?xml version="1.0"?>
<config>
  <modules>
     <Mycomp_Catalog>
       <codePool>local</codePool>
       <active>true</active>
     </Mycomp_Catalog>
  </modules>
 </config> 

2 个答案:

答案 0 :(得分:4)

此处未显示,您是否为Mycomp_Catalog模块设置了模型?像这样修改你的全球部分:

<global>
    <models>
        <catalog>
            <rewrite>                    
                <layer_filter_category>Mycomp_Catalog_Model_Layer_Filter_Category</layer_filter_category>
            </rewrite>
        </catalog>
        <mycompcatalog>
            <class>Mycomp_Catalog_Model</class>
        </mycompcatalog>
    </models>
</global>

这是我唯一的猜测。希望有所帮助!

谢谢, 乔

答案 1 :(得分:2)

通过论坛调试这些问题非常困难。这是一个具有工作覆盖的模块(至少,它适用于我的1.4 CE安装)与你的差异,看看有什么不同,或者只是尝试在你的安装上安装,如果它不起作用,你知道有一个其他地方的问题。

http://alanstorm.com/testbed/Mycomp.tar.gz