覆盖Magento Adminhtml模板文件

时间:2012-07-05 16:03:16

标签: php xml zend-framework magento configuration

我试图覆盖页面上的特定块,在这种情况下它是Sales_Order_View_History模板。我看到的问题是这个块已经被覆盖了。

覆盖此块的自定义模块正在使用一个基本上执行的观察器:当要加载History.php时,请加载Historytwo.php。 History.php也在后端的两个单独页面上使用。我必须只在一页上覆盖它。这让我绝对迷失了。我确实认为我想要覆盖模板的模块只是覆盖了我想要覆盖的模块。

我所看到的覆盖块的普遍接受的格式是:

<adminhtml>
    <rewrite>
       <sales_order_view_companyhistory>
       Namespace_Package_Blocks_Adminhtml_Sales_Order_View_Companyhistory_Content</

上面的代码给了我一个破坏的布局,它停止了大多数块/模板的渲染。

2 个答案:

答案 0 :(得分:1)

如果另一个模块在“adminhtml_block_html_before”事件中使用观察者,您是否尝试重写他们的观察者模型以使其按照您的要求进行操作?
同时,您也可以在同一事件上添加自己的观察者,这样做会做同样的事情,但只有在未启用其他模块时(例如,通过检查Mage::helper('core')->isModuleEnabled()),才能适用于所有情况。

答案 1 :(得分:0)

这两个配置片段将重写两个单独的类名。

sales映射在Mage/Sales/etc/config.xml

global/blocks/sales/class>Mage_Sales_Block

adminhtml映射在Mage/Adminhtml/etc/config.xml

global/blocks/adminhtml/class>Mage_Adminhtml_Block