php - Magento:通过本地副本获取 "overriding"核心 config.xml 文件?这个对吗?

标签 php magento

我正在尝试重命名出现在我的 Magento 结帐单上的一些信用卡(例如,“Visa”变为“Visa Debit/Credit”)。

为此,我发现您必须编辑 /app/code/core/Mage/Payment/etc/config.xml 中定义的名称.

不想覆盖核心文件,我尝试将此文件复制到 /app/code/local/Mage/Payment/etc/config.xml并在那里进行更改,但没有用。从研究中,我了解到 Magento 不会首先从本地文件夹自动加载配置文件?

然后我发现您可以更改 app/etc/modules/Mage_All.xml并指定 <codePool>local</codePool>而不是 <codePool>core</codePool><Mage_Payment> 下.我在本地文件夹下所做的更改将生效。

这是正确的做法吗?将更改 codePool一个核心模块有什么影响?是否有其他方法可以“覆盖”核心模块的 config.xml

最佳答案

您必须在本地创建一个新模块:Yourcompany_Payment

在此模块中,使用您需要的 XML 重写定义一个极简主义的 etc/config.xml :

<config>
    <modules>
        <Yourcompany_Payment>
            <version>0.1.0.0</version>
        </Yourcompany_Payment>
    </modules>
    <global>
        <payment>
            <cc>
                <types>
                    <AE>
                        <code>AE</code>
                        <name>American Express</name>
                        <order>0</order>
                    </AE> [...]

然后在 app/etc/modules 文件夹中,添加一个新的 Yourcompany_Payment.xml(或 Yourcompany_All.xml):

<config>
    <modules>
        <Yourcompany_Payment>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Payment/>
            </depends>
        </Yourcompany_Payment>
    </modules>
</config>

depends 节点很重要,因为它会告诉 magento 在 magento 的 XML 之后加载您的 XML,以便您的重写工作

关于php - Magento:通过本地副本获取 "overriding"核心 config.xml 文件?这个对吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13250135/

相关文章:

php - 为什么我们应该总是从函数返回值?

php - 从查询 yii2 获取数组而不是字符串

mysql - 如何处理 200 万件产品

php - 如何重置 Magento 交易电子邮件 ID?

database - Magento Checkout 条款和条件,它们存储在哪里?

php - 表情符号到 JSON 编码,发布到网络服务器

php - MySQL 精确 URL 搜索

php - Facebook API 范围 : Do NOT request users friend list

php - magento 类别未显示在添加产品页面上?

Magento : how to change item price when adding it into the cart