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

时间:2012-07-16 11:39:27

标签: 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>

这里是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>

当然这个区块已经存在,它扩展了 Mage_Adminhtml_Block_Template 并实现了 Mage_Adminhtml_Block_Widget_Tab_Interface

当我查看客户的详细信息时,我现在收到错误:错误的选项卡配置。 在Magento的错误日志中:

  

异常'Mage_Core_Exception',消息'无效的块类型:   Mage_Extendcustomer_Block_Adminhtml_Customer_Showidea'in   /var/www/vhosts/whatever/htdocs/app/Mage.php:594

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

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

1 个答案:

答案 0 :(得分: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>

因为这是你在block config中定义的内容:

<blocks>
    <showidea>
        <class>Whatever_Extendcustomer_Block</class>
    </showidea>
</blocks>