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

时间:2012-07-14 14:04:15

标签: magento php

我已经习惯于覆盖magento的前端布局文件,所以我认为在管理面板中覆盖一个phtml模板会很容易 - 但是在过去的六个小时里我一无所获。到目前为止我发现的所有教程都专注于创建一个控制器,但我只需要覆盖两个phtml文件,因为我只想稍微改变一下订购项目的显示。

具体来说,我想覆盖默认的/ template / sales / order / view / items.phtml,通常我只是在我自己模块的设计文件夹中匹配该路径并将其称为一天。

我可以通过我的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中使用我的phtml文件// default / sales / order / view / items.phtml?

我的config.xml中的这些行不应该有效吗?

<config>
...
<adminhtml>
    <layout>
        <updates>
            <my_module>
                <file>order_list.xml</file>
            </my_module>
        </updates>
    </layout>
</adminhtml>
...
</config>

非常感谢任何帮助!我真的希望我只是忽略了一些事情......

1 个答案:

答案 0 :(得分:0)

您可以做的是将自定义模块放在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)位置