在magento后端向客户视图添加新选项卡的问题

Arm*_*min 1 magento adminhtml

我对Magento很新,我正在尝试为Magento后端的客户视图添加一个新选项卡.

我为它制作了一个新的扩展/模块.以下是我的etc/config.xml的一些摘录:

<global>
    <blocks>
        <showidea>
            <class>Whatever_Extendcustomer_Block</class>
        </showidea>
    </blocks>
    <!-- ... -->
</global>
<adminhtml>
    <layout>
        <updates>
            <showidea>
                <file>whatever_extendcustomer.xml</file>
            </showidea>
        </updates>
    </layout>
</adminhtml>
Run Code Online (Sandbox Code Playgroud)

这里是whatever_extendcustomer.xml文件的内容:

<adminhtml_customer_edit>
    <reference name="customer_edit_tabs">
        <action method="addTab">
            <name>extendcustomer_showidea</name>
            <block>extendcustomer/adminhtml_customer_showidea</block>
        </action>
    </reference>
</adminhtml_customer_edit>
Run Code Online (Sandbox Code Playgroud)

当然这个块是存在的,它扩展了Mage_Adminhtml_Block_Template并实现了Mage_Adminhtml_Block_Widget_Tab_Interface.

当我转到客户的详细信息时,我现在得到错误:错误的选项卡配置.在Magento的错误日志中:

异常'Mage_Core_Exception',消息'无效的Blocktype:Mage_Extendcustomer_Block_Adminhtml_Customer_Showidea'在/var/www/vhosts/whatever/htdocs/app/Mage.php:594

我认为这是问题,因为Mage_Extendcustomer是错的.它应该是Whatever _ ...但我不知道为什么它在Mage_而不是我的Whatever_命名空间之前.

我希望有人能给我一些线索!谢谢.

blm*_*age 5

您应该使用showidea而不是extendcustomer在布局文件中:

<adminhtml_customer_edit>
    <reference name="customer_edit_tabs">
        <action method="addTab">
            <name>extendcustomer_showidea</name>
            <block>showidea/adminhtml_customer_showidea</block>
        </action>
    </reference>
</adminhtml_customer_edit>
Run Code Online (Sandbox Code Playgroud)

因为它是你在块配置中定义的:

<blocks>
    <showidea>
        <class>Whatever_Extendcustomer_Block</class>
    </showidea>
</blocks>
Run Code Online (Sandbox Code Playgroud)