本地vs核心控制器

时间:2010-05-26 20:38:21

标签: magento

我在本地管理app / code / local / Mage / Adminhtml / Block / Catalog / Product / Grid.php中添加了新列和操作,但是工作正常。本地控制器/ app / code / local / Mage / Adminhtml / Block / Catalog / Product.php未被使用或没有超载管理员/app/code/core/Mage/Adminhtml/Block/Catalog/Product.php 。

这几乎是Magento 1.4.0.1的全新安装。我是唯一一个工作,所以我知道它不会被一些自定义控制器超载。我已禁用所有自定义模块。我已经回滚了大部分更改。我检查了/etc/Modules/Mage_Catalog.xml。刷新缓存所有可能的方式,进出。没什么....仍然使用核心控制器副本。为什么?你是如何解决问题的,也就是说magento决定在核心版本或本地版本之间使用的时刻? ...它更奇怪,因为它不解析本地Adminhtml config.xml但使用块的本地Adminthml副本。

我想将所有内容保存在本地代码中。

1 个答案:

答案 0 :(得分:2)

对不起,我的糟糕......长时间工作让我不那么小心了。

对于每个模块,必须在本地或核心空间中启用它。默认情况下,它们都在核心空间中启用。要启用Adminhtml模块,我必须添加Mage_Adminhtml.xml文件 应用程序的/ etc /模块。在Mage_Adminhtml.xml文件中,我必须在codePool标记之间指定本地,如下所示:

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

我的错误是认为我需要这个目录模块,而实际上是Adminhtml,因为我正在使用管理员控制器。添加Mage_Adminhtml.xml后,它使用本地控制器。