2013-05-02 79 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