致命错误:在 ../app/code/core/Mage/Adminhtml/Block/System/Config/Form.php 第 463 行的非对象上调用成员函数 toOptionArray()

magento.stackexchange https://magento.stackexchange.com//questions/29486

  •  11-12-2019
  •  | 
  •  

安装“sphinx search Ultimate”后,当我进入配置页面并选择“sphinx search”面板时,出现以下错误:

Fatal error: Call to a member function toOptionArray() on a non-object in ../app/code/core/Mage/Adminhtml/Block/System/Config/Form.php on line 464

我已经尝试了网站上提到的一些技巧,包括确保编译已关闭。但没有运气。

有人可以帮忙吗?您在安装新扩展时遇到过这个问题吗?关于如何排除故障的想法?

谢谢。

有帮助吗?

解决方案

确保已安装所有文件,Web服务器有足够的权限来实际加载它们。如果安装需要几个步骤,这很容易发生。ToOptionArray是来自填充下拉选项的对象的方法。作为非对象的指示灯意味着对象值为null,它通常在声明文件丢失或不可读取时发生。

其他提示

复制 app\code\core\Mage\Adminhtml\Block\System\Config\Form.php

粘贴/扩展至/创建 app\code\local\Mage\Adminhtml\Block\System\Config\Form.php

在第 463 行找到以下内容

$optionArray = $sourceModel->toOptionArray($fieldType == 'multiselect');

并将其替换为:

if(is_object($sourceModel)){
   $optionArray = $sourceModel->toOptionArray($fieldType == 'multiselect');
} else {
   Mage::log($e->source_model);
}
许可以下: CC-BY-SA归因
scroll top