如何覆盖Magento核心块模板?

时间:2012-03-08 20:35:48

标签: php magento override

我目前正在开发一个支付模块,它已经正常工作,甚至设法覆盖成功的电子邮件模板,但是我似乎无法将一些简单的附加信息放到结帐页面上。

我一直试图找到这个好几个小时,但我找到的解决方案都没有完整描述确切地放置哪个文件。以及在xmls中写什么。

由于

1 个答案:

答案 0 :(得分:3)

为什么在可以通过布局系统添加块时覆盖模板(这也是正常内容的添加方式)?

如果您还没有为模块定义布局XML文件:

<frontend>
    <layout>
        <updates>
            <your_module module="Your_Module">
                <file>your/module.xml</file>
            </your_module>
        </updates>
    </layout>
</frontend>

使用您的布局文件(app / design / frontend / base / default / layout / your / module.xml)将块添加到布局更新句柄。例如:

<?xml version="1.0"?>
<layout>
    <a_handle_for_you>
        <reference name="content">
            <block type="core/text" name="yourblock">
                <action method="setText">
                    <arg>You should see this text.</arg>
                </action>
            </block>
        </reference>
    </a_handle_for_you>
    <checkout_onepage_success>
        <update handle="a_handle_for_you" />
    </checkout_onepage_success>
    <checkout_multishipping_success>
        <update handle="a_handle_for_you" />
    </checkout_multishipping_success>
</layout>

上述布局说明应该为onepage和multishipping过程的成功页面添加内容。