如何覆盖Magento核心块模板?
问题描述:
我目前正在开发一个支付模块,该模块已经正常工作,甚至设法覆盖成功的电子邮件模板,但我似乎无法将一些简单的附加信息放到结帐成功页面上。如何覆盖Magento核心块模板?
我一直在努力寻找这个好几个小时,但是我找到的解决方案都没有完整地描述完全放置哪个文件。以及在xml中写什么。
感谢
答
为什么重写时,你可以通过布局系统添加块(这是正常的内容如何加入为好)的模板?
定义布局XML文件为您的模块,如果您尚未:
<frontend>
<layout>
<updates>
<your_module module="Your_Module">
<file>your/module.xml</file>
</your_module>
</updates>
</layout>
</frontend>
使用您的布局文件(应用程序/设计/前端/基/默认/布局/你/ 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进程的成功页面。
我猜第一个xml会进入config.xml,但是我想要做的是从Payment对象中输出一些额外的付款信息,所以我需要一个模板来处理,当然这可以是一个additinal块 – whitezo 2012-03-09 09:18:07
是的。您可以在[Magento知识库]中找到关于此额外主题的丰富信息(http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-4-magento-layouts-blocks - 和模板)。 – benmarks 2012-03-09 12:48:39