我正在尝试删除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。缓存已完全禁用,因此它不是配置缓存问题。
答案 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>
重要提示:,因为codePool
为community
,如果/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
。