我已经习惯了覆盖magento的前端布局文件,所以我认为在管理面板中覆盖phtml模板会很容易,但在过去的六个小时里我一无所获。到目前为止,我发现的所有教程都集中在创建一个控制器上,但我只需要覆盖两个phtml文件,因为我只想稍微更改有序项目的显示方式。
特别是,我想覆盖默认的/template/sales/order/view/items.html,通常我只会在我自己模块的设计文件夹中匹配该路径,并到此为止。
我可以通过我的config.xml覆盖Mage/Adminhtml/Sales/Order/View/Items.php中的块php文件:
<config>
...
<global>
...
<blocks>
...
<adminhtml>
<rewrite>
<sales_order_view_items>MyCompany_MyModule_Block_Adminhtml_Sales_Order_View_Items</sales_order_view_items>
</rewrite>
</adminhtml>
</blocks>
...
</global>
...
</config>
如何告诉Magento在design/adminhtml//default/sales/order/view/items.html中使用我的phtml文件?
我的config.xml中的这些行不应该工作吗?
<config>
...
<adminhtml>
<layout>
<updates>
<my_module>
<file>order_list.xml</file>
</my_module>
</updates>
</layout>
</adminhtml>
...
</config>
非常感谢您的帮助!我真的希望我忽略了什么。。。
您可以将自定义模块放在Mage_Adminhtml 之前
<admin>
<routers>
<adminhtml>
<args>
<modules>
<My_Module before="Mage_Adminhtml">My_Module_Adminhtml</My_Module>
</modules>
</args>
</adminhtml>
</routers>
</admin>
然后复制到您的order_list.xml
<adminhtml_sales_order_view>
....
</adminhtml_sales_order_view>
来自/app/design/adminhtml/default/default/layout/sales.xml
在order_list.xml中,您现在可以替换块类型和模板文件(phtml)位置