【问题标题】:Magento Fatal error: Call to a member function addData()Magento 致命错误:调用成员函数 addData()
【发布时间】:2014-06-06 10:32:25
【问题描述】:

我正在使用 Magento v1.8 CE,但在尝试从系统 > 导出/导入中的数据流 - 配置文件部分访问任何导出/导入功能时遇到问题。错误显示:

致命错误:在第 49 行的 /httpdocs/app/code/core/Mage/Adminhtml/Block/System/Convert/Gui/Edit/Tabs.php 中的非对象上调用成员函数 addData()

我发现了相关问题here,但我不想弄乱核心 Mage 代码。根据这篇文章:这种错误的最可能原因可能是由于 Mage_Core_Adminhtml 包过时,或者包升级但编译器缓存了旧代码。

我没有升级任何软件包,但是我在另一台服务器上确实有该站点的本地版本,可以正常工作。两台服务器之间可能略有不同,但我不能确定。有人可以帮我吗?或者解释一下 Mage“Adminhtml”模块的用途,这样我就可以更好地了解哪里出了问题。

非常感谢

【问题讨论】:

    标签: php magento magento-1.8 mage adminhtml


    【解决方案1】:

    查看app/code/core/Mage/Adminhtml/Block/System/Convert/Gui/Edit/Tabs.php 的第 48 行。 在那里你应该看到

    $wizardBlock = $this->getLayout()->createBlock('adminhtml/system_convert_gui_edit_tab_wizard');
    

    你应该检查你是否有那个文件app/code/core/Mage/Adminhtml/Block/System/Convert/Gui/Edit/Tab/Wizard.php。 如果您有上述文件,请使用方法 is_object 和 get_class 验证 $this->getLayout() 是什么。还要检查 app/code/local 或 app/code/community 中覆盖上面第二个文件中的类的任何模块。

    作为最后的手段,进入 app/code/core/Mage/Core/Model/Config.php 文件并在第 1213 行和 return $className 之前编辑 getGroupedClassName 方法,添加一个带有 Mage::log($className, null, 'block_classes.log'); 的新行。 现在你应该在 var/log/block_classes.log 中有一个日志,并查看 Magento 在抛出该错误之前尝试初始化的类。

    【讨论】:

    • 感谢 Emi,问题是缺少 Wizard.php 文件,由于某种原因,它存在于我的本地但不在其他测试服务器上,它必须在传输过程中被跳过。非常感谢您的帮助。
    猜你喜欢
    • 2015-08-07
    • 2012-09-05
    • 1970-01-01
    • 2011-08-22
    • 2017-06-22
    • 2012-09-29
    • 2014-02-05
    • 2014-04-29
    • 2015-09-14
    相关资源
    最近更新 更多