Mat*_*asH 2 magento magento-1.5
我开发的magento扩展有一个很大的问题.Localhost一切都很好但是当我部署时,它会收到此错误.
选项卡配置错误
#0 [internal function]: Mage_Adminhtml_Block_Widget_Tabs->addTab('pricematrix', 'tab_pricematrix')
#1 /var/www/vhosts/discountprint.dk/httpdocs/app/code/core/Mage/Core/Model/Layout.php(347): call_user_func_array(Array, Array)
#2 /var/www/vhosts/something.dk/httpdocs/app/code/core/Mage/Core/Model/Layout.php(213): Mage_Core_Model_Layout->_generateAction(Object(Mage_Core_Model_Layout_Element), Object(Mage_Core_Model_Layout_Element))
#3 /var/www/vhosts/something.dk/httpdocs/app/code/core/Mage/Core/Model/Layout.php(209): Mage_Core_Model_Layout->generateBlocks(Object(Mage_Core_Model_Layout_Element))
#4 /var/www/vhosts/something.dk/httpdocs/app/code/core/Mage/Core/Controller/Varien/Action.php(343): Mage_Core_Model_Layout->generateBlocks()
#5 /var/www/vhosts/something.dk/httpdocs/app/code/core/Mage/Core/Controller/Varien/Action.php(270): Mage_Core_Controller_Varien_Action->generateLayoutBlocks()
#6 /var/www/vhosts/something.dk/httpdocs/app/code/core/Mage/Adminhtml/Controller/Action.php(263): Mage_Core_Controller_Varien_Action->loadLayout(Array, true, true)
#7 /var/www/vhosts/something.dk/httpdocs/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php(246): Mage_Adminhtml_Controller_Action->loadLayout(Array)
#8 /var/www/vhosts/something.dk/httpdocs/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Adminhtml_Catalog_ProductController->editAction()
#9 /var/www/vhosts/something.dk/httpdocs/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(253): Mage_Core_Controller_Varien_Action->dispatch('edit')
#10 /var/www/vhosts/something.dk/httpdocs/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#11 /var/www/vhosts/something.dk/httpdocs/app/code/core/Mage/Core/Model/App.php(340): Mage_Core_Controller_Varien_Front->dispatch()
#12 /var/www/vhosts/something.dk/httpdocs/app/Mage.php(627): Mage_Core_Model_App->run(Array)
#13 /var/www/vhosts/something.dk/httpdocs/index.php(80): Mage::run('', 'store')
#14 {main}
Run Code Online (Sandbox Code Playgroud)
我用Google搜索了几个小时但找不到任何有用的信息.我的magento版本是1.5.0.1
希望你能帮忙
Ala*_*orm 11
如果您停止搜索Google并开始搜索代码,您将获得更多.
搜索异常字符串"错误的选项卡配置"
$ ack 'Wrong tab configuration'
Adminhtml/Block/Widget/Tabs.php
108: throw new Exception(Mage::helper('adminhtml')->__('Wrong tab configuration.'));
112: throw new Exception(Mage::helper('adminhtml')->__('Wrong tab configuration.'));
Run Code Online (Sandbox Code Playgroud)
看一下,整个源代码树中只有两个可能抛出异常的地方,两者都在addTab你的堆栈跟踪指示的方法中被调用.在上下文中查看该代码
public function addTab($tabId, $tab)
{
if (is_array($tab)) {
$this->_tabs[$tabId] = new Varien_Object($tab);
}
elseif ($tab instanceof Varien_Object) {
$this->_tabs[$tabId] = $tab;
if (!$this->_tabs[$tabId]->hasTabId()) {
$this->_tabs[$tabId]->setTabId($tabId);
}
}
elseif (is_string($tab)) {
if (strpos($tab, '/')) {
$this->_tabs[$tabId] = $this->getLayout()->createBlock($tab);
}
elseif ($this->getChild($tab)) {
$this->_tabs[$tabId] = $this->getChild($tab);
}
else {
$this->_tabs[$tabId] = null;
}
if (!($this->_tabs[$tabId] instanceof Mage_Adminhtml_Block_Widget_Tab_Interface)) {
throw new Exception(Mage::helper('adminhtml')->__('Wrong tab configuration.'));
}
}
else {
throw new Exception(Mage::helper('adminhtml')->__('Wrong tab configuration.'));
}
Run Code Online (Sandbox Code Playgroud)
看起来您的呼叫正在通过第二个if/else分支运行.您的选项卡字符串tab_pricematrix用于从当前选项卡中获取子块
$this->_tabs[$tabId] = $this->getChild($tab);
Run Code Online (Sandbox Code Playgroud)
然而,它看起来像什么发现那里是不是一个孩子Mage_Adminhtml_Block_Widget_Tab_Interface.
我的猜测是因为调用getChild返回false,因为你的模块没有添加一个带有tab_pricematrix布局名称的选项卡(你是否将Layout XML文件复制到新服务器?)不知道你是如何实现该模块的,这是不可能肯定的.
祝好运!