当您尝试编辑的产品,类别或管理属性在Magento 后台,有时会显示下面的错误消息(显示空白页面如果显示错误消息被禁用) 在Magento 升级或安装扩展后:
PHP 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 289
Magento Fatal error Call to a member function toOptionArray on a non-object
原因
这一问题的最可能原因是不是升级Mage_Core_Adminhtml包或升级包但旧代码由编译器缓存。
要解决此错误。
第 1 步: 打开上面的路径文件。
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'));
}
一步 2:Replace 上面与下面的代码:
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);
}
}
希望此解决方案可以帮助您解决这个问题 !