2012-07-05 99 views
0

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

被重写此块中的定制模块使用观察者基本上作用:当History.php是要加载,加载Historytwo.php代替。 History.php也在后端的两个独立页面上使用。我只能在一页上覆盖它。这让我绝对失去了。我相信我想要重写模板的模块只覆盖了我想重写的模块。

我所看到的,作为压倒一切的块普遍接受的格式是:

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

上面的代码是给我一个破碎的布局正在停止的大多数块/模板的渲染。

回答

0

如果其他模块使用的 “adminhtml_block_html_before” 事件的观察者,你试图重写他们的观察员模型,使其做你想做的事情?
而在同一时间,你还可以添加在同一事件你自己的观察,会做同样的事情,但只有当未启用其他模块(例如,通过与Mage::helper('core')->isModuleEnabled()检查),这样它会工作在所有情况下。

+0

我想用它来重写模块,所以我要当模块使能完成它。然而,看起来我通过抛出一个新的观察者来实现它。 – Sturm 2012-07-13 20:05:38

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 
+0

将这些最终改写了相同的模板文件?或者你是否说这些是网站的两个独立部分?还有一个原始问题,我想我想重写其他自定义模块,我没有看到任何可用的信息。我想这不像覆盖原文那么简单。 – Sturm 2012-07-05 16:50:16

+0

看过它后,它看起来并没有重写Block部分中的模板,而是重写了adminhtmlBlockHtmlBefore()。 – Sturm 2012-07-05 17:02:44