2013-05-02 102 views
1

我試圖在Amasty shopby模塊中添加一個更多的自定義字段。爲此,我需要重寫adminhtml表單。我爲此創建了模塊,但不覆蓋現有模塊。我必須重寫「Amasty_Shopby_Block_Adminhtml_Filter_Edit_Tab_General」類。 這是我的代碼。覆蓋已經存在的magento模塊adminhtml塊

Mycompany_Mymodule.xml

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Mycompany_Mymodule> 
      <active>true</active> 
      <codePool>local</codePool> 
      <depends> 
       <Amasty_Shopby /> 
       <Amasty_Base /> 
      </depends> 
     </Mycompany_Mymodule> 
    </modules> 
</config> 

MyCompany的/ Mymodule中的/ etc/config.xml中

<config> 
_____________ 
______________ 
    <global> 
     <blocks> 
      <adminhtml> 
       <rewrite>  <filter_edit_tab_general>Mycompany_Mymodule_Block_Adminhtml_Filter_Edit_Tab_General 
        </filter_edit_tab_general> 
       </rewrite> 
      </adminhtml> 
     </blocks> 
    </global> 
____________ 
-________________ 
</config> 

MyCompany的\ Mymodule中\塊\ Adminhtml \篩選\編輯\標籤\ General.php

public class Mycompany_Mymodule_Block_Adminhtml_Filter_Edit_Tab_General extends Amasty_Shopby_Block_Adminhtml_Filter_Edit_Tab_General 
{ 
_______________ 
___________ 
} 

回答

3

你現在想要覆蓋的不是Amasty塊,但是adminhtml/filter_e dit_tab_general。因此改寫,你需要以下配置Amasty_Shopby_Block_Adminhtml_Filter_Edit_Tab_General

<global> 
    <blocks> 
     <amshopby> 
      <rewrite> 
       <adminhtml_filter_edit_tab_general>Mycompany_Mymodule_Block_Adminhtml_Filter_Edit_Tab_General</adminhtml_filter_edit_tab_general> 
      </rewrite> 
     </amshopby> 
    </blocks> 
</global> 
+0

哇。謝謝。它的作品:) – Palanikumar 2013-05-02 13:49:03

+0

正如你所說,我試圖重寫一個表單「Amasty_Shopby_Block_Adminhtml_Page_Edit_Form」。但無法重寫。在重寫的xml文件中,我添加了這一行。 Mycompany_Mymodule_Block_Adminhtml_Page_Edit_Form Palanikumar 2013-05-04 08:49:11

+0

該行本身看起來不錯。你是把它放在還是外面?它應該在你的adminhtml_filter_edit_tab_general行的正下方。 另外它取決於這個Amasty_Shopby_Block_Adminhtml_Page_Edit_Form是否是原始塊,或者它覆蓋了一些核心塊。如果它不是原創的,那麼您必須從Amasty config.xml中刪除該重寫,然後在您的擴展中重寫該核心塊。 – 2013-05-04 10:24:11