2012-07-05 41 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