2012-03-20 114 views
2

我需要重写“adminhtml/sales/order/create/items/grid.phtml”文件,以在从admin创建新订单时在每个项目下显示一些自定义文本。我希望通过自定义模块来完成。任何人都可以建议如何覆盖管理模板文件?任何帮助真的很感谢如何覆盖magento中的管理模板文件?

回答

0

基本上,你必须为你的模块为adminhtml区域声明一个新的布局文件,比使用setTemplate方法和reference[name]节点设置一个新的模板路径。

+0

谢谢!这个对我有用。但它需要页面刷新来显示自定义文本关于这个的任何想法?我想不刷新 – 2012-04-02 12:26:30

4

I建议您创建一个新模板并在模块中添加新设计,并为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> 

如果你想discart所有的块和你块,你可以做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 

希望帮助您

+0

嗨,我不确定你的config.xml。那是对的吗?内部的不应该被替换为?谢谢。 – ermannob 2014-05-29 08:09:50

0

首先我的详细说明米不相信这是覆盖adminhtml模板的正确方法。但我尝试这种方法,它的工作原理,所以只是想分享。

这种复制模板添加到您的自定义模块​​3210

<stores> 
     <admin> 
      <design> 
       <theme> 
        <default>default</default> 
        <template>mycustom</template> 
       </theme> 
      </design> 
     </admin> 
</stores> 

现在,你可以只覆盖从defaultmycustom app\design\adminhtml\default\default\template\sales\order\view\history.phtmlapp\design\adminhtml\default\mycustom\template\sales\order\view\history.phtml