如何覆盖magento 1.7默认Mage_Page codePool

时间:2012-08-08 20:03:31

标签: magento themes

在开始使用之前,我使用的是Magento 1.7。

我正在尝试在默认包之外创建一个自定义主题,并且到目前为止一切都还可以。 但我必须更改 app / etc / modules / Mage_All.xml 文件 这样我就可以使用模块配置访问本地文件夹了。

这是原始代码块:

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

这就是我改变的路线:

<codePool>core</codePool>

然而,作为编程的好习惯,我们永远不应该编辑核心文件,所以我担心如果升级我的magento该文件将被替换,那么主题将停止工作。

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

我在app / code / local / Local中创建了一个模块'Local',其中包含正确的config.xml和system.xml文件。

在app / etc / modules / Local.xml

中为模块本身创建了一个xml文件
<?xml version="1.0"?>
<config>
    <modules>
        <Local>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Page/>
            </depends>
        </Local>
    </modules>
</config>

正如我所说,如果我改变Mage_All文件,它就像魅力...... 但是我想知道是否还有其他方法可以调用本地代码文件夹

1 个答案:

答案 0 :(得分: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 / contents并将其放在您的本地。如果您已经在本地使用了自定义模块,您可以正常工作,只需将其命名空间更改为Mage,将模块名称更改为Page