【发布时间】:2014-12-02 16:33:45
【问题描述】:
我试图从 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() 方法被调用,我将修改它以删除字段。但是,此时此刻,由于它甚至似乎都没有被调用,所以我首先关注的是我所拥有的基本设置。
文件: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() 或任何错误。我假设有一些小而重要的项目我没有设置/调用。
附:我不想从 Magento 中删除客户属性,这就是为什么我试图从它们出现的 adminhtml 选项卡中抑制/删除它们。
P.P.S.缓存已完全禁用,因此不是配置缓存问题。
【问题讨论】:
-
已将您的模块 xml 添加到 app/etc/modules/ 文件夹中?
-
Magento 缓存在开发环境中被禁用。我还刷新了我的 redis 缓存并重新启动了 nginx。这被添加到现有的功能模块中,因此 MyCompany_Profile.xml 文件已存在于 app/etc/modules 中。