Magento用我的模块中的一个覆盖管理模板phtml


Magento Overwrite admin template phtml with one from my module

我已经习惯了覆盖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)位置

相关文章: