从客户adminhtml选项卡中删除字段

时间:2014-12-02 16:33:46

标签: magento adminhtml magento-1.x

我正在尝试删除Magento adminhtml中出现的两个字段>客户>管理客户>客户信息>帐户信息选项卡似乎无法让Magento识别我所做的事情。 (至少,不是我能看到的。)

在我想要包含覆盖的自定义模块中,我有:

文件:app / code / community / MyCompany / Profile / Block / Adminhtml / Customer / Edit / Tab / Account.php

class MyCompany_Profile_Block_Adminhtml_Customer_Edit_Tab_Account
    extends Mage_Adminhtml_Block_Customer_Edit_Tab_Account
{
    public function initForm()
    {
        die('My module adminhtml block loaded!');
    }
 }

一旦我确认上面的initForm()方法被调用,我将修改它以删除字段。然而,在这个时刻,由于它似乎甚至没有被调用,我首先关注的是我的基本设置。

file:app / code / community / MyCompany / Profile / etc / config.xml

...
    <blocks>
        <profile>
            <class>MyCompany_Profile_Block</class>
        </profile>
        <adminhtml>
            <rewrite>
                <customer_edit_tab_account>MyCompany_Profile_Block_Adminhtml_Customer_Edit_Tab_Account</customer_edit_tab_account>
            </rewrite>
        </adminhtml>
    </blocks>

我没有得到die()或任何错误抛出。我假设有一些我不设置/调用的小而重要的项目。

P.S。我不想从Magento中删除客户属性,这就是我试图在它们出现的adminhtml选项卡中禁止/删除它们的原因。

P.P.S。缓存已完全禁用,因此它不是配置缓存问题。

1 个答案:

答案 0 :(得分:0)

我只是看了一些Magento的东西,我遇到了这个。

如果有人遇到类似的方法,这可能会有所帮助。

首先创建模块xml文件; 文件: /app/etc/modules/MyCompany_Profile.xml

<?xml version="1.0" encoding="UTF-8"?>

<config>
    <modules>
        <MyCompany_Profile>
            <active>true</active>
            <codePool>community</codePool>
            <version>1.0.0</version>
        </MyCompany_Profile>
    </modules>
</config>

重要提示:,因为codePoolcommunity,如果/app/code/community/codePool,我们会在local下相应地设置我们的插件我们将我们的插件放在/app/code/local/

之下

现在让我们创建config.xml 文件: /app/code/community/MyCompany/Profile/etc/config.xml

<?xml version="1.0" encoding="UTF-8"?>

<config>
    <modules>
        <MyCompany_Profile>
            <version>1.0.0</version>
        </MyCompany_Profile>
    </modules>

    <global>
        <blocks>
            <adminhtml>
                <rewrite>
                    <customer_edit_tab_account>
                        MyCompany_Profile_Block_Customer_Edit_Tab_Account
                    </customer_edit_tab_account>
                </rewrite>
            </adminhtml>
        </blocks>
    </global>
</config>

现在我们可以创建我们的类;

文件: /app/code/community/MyCompany/Profile/Block/Customer/Edit/Tab/Account.php

class MyCompany_Profile_Block_Customer_Edit_Tab_Account extends Mage_Adminhtml_Block_Customer_Edit_Tab_Account
{

    /**
     * Form initiation modification
     */
    public function initForm()
    {
        die('hello world!');
    }
}

现在,如果您正在使用缓存,则需要清除它,因为Magento将无法看到新生成的XML文件,因此无法读取&amp;认识我们的模块和我们模块的config.xml

完成后,请继续访问个人资料,您会在屏幕上看到Hello World