我正在尝试重命名我的Magento结账时出现的一些信用卡(例如"Visa"变为"Visa借记/贷记").
为此,我发现你必须按照中的定义编辑名称/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吗?
Cét*_*tia 10
您必须在本地下创建一个新模块: Yourcompany_Payment
在此模块中,使用您需要的XML重写来定义minimalist 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> [...]
Run Code Online (Sandbox Code Playgroud)
然后在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>
Run Code Online (Sandbox Code Playgroud)
depends节点是至关重要的,因为它会告诉magento在magento之后加载你的XML以便重写工作