2012-08-08 112 views
1

在开始之前,我使用的是Magento 1.7。如何覆盖magento 1.7默认Mage_Page代码池

我想在默认包之外创建一个自定义主题,到目前为止一切都还好。 但我必须更改应用程序/ etc/modules/Mage_All.xml文件 ,以便我可以使用模块配置访问本地文件夹。

这是代码的原始块:

<Mage_Page> 
    <active>true</active> 
    <codePool>core</codePool> 
    <depends> 
     <Mage_Core/> 
    </depends> 
</Mage_Page> 

而且这是我改了行:

<codePool>core</codePool> 

然而,在编程的好做法,我们不应该修改的核心文件,所以我担心,如果升级我的magento该文件将被替换,所以,主题将停止工作。

所以问题是如何覆盖这个设置。

我已经使用适当的config.xml和system.xml文件在app/code/local/Local内部创建了一个模块'Local'。

,创造了模块本身的内部应用程序/ etc/modules中一个xml文件/ local.xml中

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

正如我说,如果我改变Mage_All文件,它就像一个魅力... 但我想知道是否有另一种方式关闭主叫本地代码文件夹

回答

2

首先,在app/etc/modules/的文件在其下面放内容名称Mage_Page.xml

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

现在,如果你想要整个Mage_Page模块重写,请复制整个app/code/core/Mage/Page /内容并将其放入本地。如果您已经在您的本地定制了您认为正常工作的模块,只需将其名称空间更改为Mage,并将模块名称更改为Page

+0

非常好Kalpesh:D它像一个魅力工作!谢谢! – 2012-08-08 20:56:58

+1

我是新来的stackoverflow ...没有时间学习它!谢谢!接受:D – 2012-08-09 03:57:04

+0

优秀的解决方案。简单而有效。我想知道同样的事情。 – CarComp 2013-01-24 03:06:58