0

在我运行编译并启用它后,刷新缓存并转到“系统->配置”我收到以下错误

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

如果我关闭启用刷新缓存并返回配置它可以工作。

我尝试了致命错误中的解决方案:在第 463 行的 mysite/app/code/core/Mage/Adminhtml/Block/System/Config/Form.php 中的非对象上调用成员函数 toOptionArray()

但这没有用

Go to app\code\core\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);
}

我希望能够启用编译和访问配置。

在此先感谢您的帮助。

4

1 回答 1

0

将代码替换为

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);
    }
}

http://indianicorange.wordpress.com/2010/10/04/fatal-error-call-to-a-member-function-tooptionarray-on-a-non-object/

于 2013-10-24T19:09:05.110 回答