我需要覆盖“adminhtml / sales / order / create / items / grid.phtml”文件,以便在从admin创建新订单时在每个项目下显示一些自定义文本。我希望通过自定义模块完成此操作。任何人都可以建议如何覆盖管理模板文件?任何帮助都非常感谢
答案 0 :(得分:4)
我建议您创建一个新模板,并在模块中添加新设计,并使用adminhtml部分的布局更新。 例如:
在自定义扩展程序的config.xml中,您可以使用以下命令更新adminhtml的布局:
<adminhtml>
<layout>
<updates>
<adminhtml>
<file>yourcustomlayout.xml</file>
</adminhtml>
</updates>
</layout>
</adminhtml>
好的,那么从这个布局开始,您可以编写下一个代码来添加一个css,例如:
<layout>
<default>
<reference name="head">
<action method="addCss">
<name>aw_all/css/window.css</name>
</action>
</reference>
</default>
</layout>
在您的情况下,您需要为块添加自定义模板
<layout>
<handle>
<reference name="content">
<block type="smspremium/adminhtml_smspremium" name="smspremium">
<action method="setTemplate">
<template>customtemplate.phtml</template>
</action>
</block>
</reference>
</handle>
</layout>
如果你想放弃所有的块并用你的块替换你可以使unsetChild
<layout>
<handle>
<reference name="content">
<action method="unsetChild"><name>your.last.block</name></action>
<block type="smspremium/adminhtml_smspremium" name="smspremium">
<action method="setTemplate">
<template>customtemplate.phtml</template>
</action>
</block>
</reference>
</handle>
</layout>
这项工作与前端布局相同,只是因为您存储文件后存在差异。 对于模板:
app/design/adminhtml/default/default/templates
布局:
app/design/adminhtml/default/default/layout
希望帮助你
答案 1 :(得分:0)
基本上,您必须为adminhtml区域声明模块的新布局文件,而不是使用setTemplate
方法和reference[name]
节点设置新的模板路径。
答案 2 :(得分:0)
首先,我不相信这是覆盖adminhtml
模板的正确方法。但我尝试这种方法,它的工作原理,所以只想分享。
将此添加到您的自定义模块config.xml
<stores>
<admin>
<design>
<theme>
<default>default</default>
<template>mycustom</template>
</theme>
</design>
</admin>
</stores>
现在您可以通过将模板从default
复制到mycustom
来覆盖
app\design\adminhtml\default\default\template\sales\order\view\history.phtml
app\design\adminhtml\default\mycustom\template\sales\order\view\history.phtml
答案 3 :(得分:-1)
您可以在此处找到覆盖Magento管理文件的详细说明http://www.techawaken.com/creating-a-new-magento-admin-theme/