Php 致命错误:调用成员函数toOptionArray()

Php 致命错误:调用成员函数toOptionArray(),php,function,magento,e-commerce,Php,Function,Magento,E Commerce,当我从我的magento仪表板进入系统>>配置>>谷歌API时,我发现以下错误 Fatal error: Call to a member function toOptionArray() on a non-object in /home/dev/public_html/app/code/core/Mage/Adminhtml/Block/System/Config/Form.php on line 421 在第421行的Form.php中,有以下代码 } else {

当我从我的magento仪表板进入系统>>配置>>谷歌API时,我发现以下错误

Fatal error: Call to a member function toOptionArray() on a non-object in /home/dev/public_html/app/code/core/Mage/Adminhtml/Block/System/Config/Form.php on line 421
在第421行的Form.php中,有以下代码

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

感谢解决上述错误。请打开上面的路径文件

if ($e->source_model) {
$sourceModel = Mage::getSingleton((string)$e->source_model);
if ($sourceModel instanceof Varien_Object) {
$sourceModel->setPath($path);
}
$field->setValues($sourceModel->toOptionArray($fieldType == 'multiselect'));
}
将上述代码替换为以下代码:

if ($e->source_model) {
$sourceModel = Mage::getSingleton((string)$e->source_model);
if ($sourceModel instanceof Varien_Object) {
$sourceModel->setPath($path);
}
if(is_object($sourceModel)){
$field->setValues($sourceModel->toOptionArray($fieldType == 'multiselect'));
} else {
Mage::log($e->source_model);
}
}

来源:

解决上述错误。请打开上面的路径文件

if ($e->source_model) {
$sourceModel = Mage::getSingleton((string)$e->source_model);
if ($sourceModel instanceof Varien_Object) {
$sourceModel->setPath($path);
}
$field->setValues($sourceModel->toOptionArray($fieldType == 'multiselect'));
}
将上述代码替换为以下代码:

if ($e->source_model) {
$sourceModel = Mage::getSingleton((string)$e->source_model);
if ($sourceModel instanceof Varien_Object) {
$sourceModel->setPath($path);
}
if(is_object($sourceModel)){
$field->setValues($sourceModel->toOptionArray($fieldType == 'multiselect'));
} else {
Mage::log($e->source_model);
}
}

Source:

确保
$sourceModel
是一个对象,例如,您执行了如下操作:
$sourceModel=new Class@PLB非常感谢。我通过检查所有安装的模块并更新它们来解决这个问题。@Pekka我知道我应该在Magento支持论坛上发布,但在那里很难得到回复。我喜欢堆栈交换,因为我们在这里得到及时的回复。无论如何,谢谢确保
$sourceModel
是一个对象,例如,您做了如下操作:
$sourceModel=new Class@PLB非常感谢。我通过检查所有安装的模块并更新它们来解决这个问题。@Pekka我知道我应该在Magento支持论坛上发布,但在那里很难得到回复。我喜欢堆栈交换,因为我们在这里得到及时的回复。谢谢你,谢谢你的小费。我查了一下Magento日志。该错误是由Fooman GoogleAnalyticPlus模块引起的。升级解决了这个问题。非常感谢你的提示。我查了一下Magento日志。该错误是由Fooman GoogleAnalyticPlus模块引起的。升级它解决了这个问题。