我在magento中添加了一个自定义模块,在销售订单部分添加了两个新选项卡,它在本地运行良好,但当我在实时服务器中尝试时,它不工作。抛出一些错误,比如"错误的选项卡配置"。在检查时,我认为这是布局文件的问题。
<?xml version="1.0" encoding="UTF-8"?>
<layout>
<adminhtml_sales_order_view>
<reference name="sales_order_tabs">
<action method="addTab">
<name>name_custom</name>
<block>mymodule/adminhtml_sales_order_view_tab_mymodule</block>
</action>
<action method="addTab">
<name>name_custom2</name>
<block>mymodule/adminhtml_sales_order_view_tab_mymodule1</block>
</action>
</reference>
</adminhtml_sales_order_view>
在我的config.xml块中定义为类似
<?xml version="1.0" encoding="UTF-8"?>
..............
..............
<blocks>
<mymodule>
<class>Company_Mymodule_Block</class>
</mymodule>
</blocks>
...............
...............
当我在布局中尝试adminhtml/sales_order_view_tab_invoices而不是mymodule/adminhtml_sales_order_view_tab_mymodule时,我很困惑问题出在哪里。我该如何解决这个问题?
它在本地工作,而不是在实时服务器中工作?很可能是由区分大小写的命名引起的(linux区分大小写)。仔细检查您的模块名称等
例如:
adminhtml/sales_order_view_tab_invoices
->ok
adminhtml/sales_oRder_view_tab_invoices
->错误
确保您的:
mymodule/adminhtml_sales_order_view_tab_mymodule
和mymodule/adminhtml_sales_order_view_tab_mymodule1
是Mage_Adminhtml_Block_Widget_Tab_Interface的实例。
您可以使用implements Mage_Adminhtml_Block_Widget_Tab_Interface