Dev Guy
Dev Guy

Reputation: 520

Fatal error: Call to a member function toOptionArray()

When I got to System >> COnfiguration >> Google API from my magento dashboard I get following error.

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

In Form.php on line 421 there is following code.

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

Thanks

Upvotes: 1

Views: 3077

Answers (1)

Arshdeep
Arshdeep

Reputation: 4323

To solve the above error. Please open the above path file.

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

Replace above code with below:

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: http://indianicorange.wordpress.com/2010/10/04/fatal-error-call-to-a-member-function-tooptionarray-on-a-non-object/

Upvotes: 1

Related Questions