我对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_名称空间之前。
我希望有人能给我一些线索! 感谢。
答案 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>