Php 致命错误:对非对象调用成员函数toOptionArray()
我正在Magento开发一个付款方式模块。当我在Magento的配置中单击“付款方式”菜单时,我得到以下错误Php 致命错误:对非对象调用成员函数toOptionArray(),php,zend-framework,magento,Php,Zend Framework,Magento,我正在Magento开发一个付款方式模块。当我在Magento的配置中单击“付款方式”菜单时,我得到以下错误 Fatal error: Call to a member function toOptionArray() on a non-object in \xampp\htdocs\magento\app\code\core\Mage\Adminhtml\Block\System\Config\Form.php on line 421 请参阅下面的链接,了解我正在开发的模块代码 我使用的是
Fatal error: Call to a member function toOptionArray() on a non-object in
\xampp\htdocs\magento\app\code\core\Mage\Adminhtml\Block\System\Config\Form.php
on line 421
请参阅下面的链接,了解我正在开发的模块代码
我使用的是XAMPP1.7.3和magento 1.6.1。
请提供帮助。在system.xml中,您有以下代码 系统配置源模型不需要扩展超类,也不需要实现除
toOptionArray()
之外的任何方法EAV select和multiselect属性也使用源模型,但是这些属性需要扩展
EAV/entity\u attribute\u source\u abstract
,并且更复杂,因此我将不在此详述更多细节。在您的system.xml中,您有以下代码
系统配置源模型不需要扩展超类,也不需要实现除toOptionArray()
之外的任何方法EAV select和multiselect属性也使用源模型,但这些属性需要扩展
EAV/entity\u attribute\u source\u abstract
,并且更复杂,因此我将不在这里详细介绍。第421行必须包含类似$object->toOptionArray()的内容。请发布这部分代码和创建$object的部分。这是Magento的核心部分,错误不会出现在代码中。问题出在我的代码中。不管怎么说,已经完成了。ThanksLine 421必须包含类似$object->toOptionArray()的内容。请发布这部分代码和创建$object的部分。这是Magento的核心部分,错误不会出现在代码中。问题出在我的代码中。不管怎么说,已经完成了。非常感谢你,维奈。我感谢你的回答。他们解释得很好。嗨,Vinai,更正了所有问题后,我在结账页面上没有看到付款方式选项。请帮助。添加另一个问题,这样就不会偏离主题。非常感谢Vinai。我感谢你的回答。他们解释得很好。嗨,Vinai,更正了所有问题后,我在结账页面上没有看到付款方式选项。请帮助。添加另一个问题,这样就不会偏离主题。
<payment_action translate="label">
<label>Payment Action</label>
<frontend_type>select</frontend_type>
<source_model>cashondelivery/createorder</source_model>
<sort_order>2</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>0</show_in_store>
</payment_action>
public function toOptionArray()
{
return array(
array('value' => $value1, 'label' => 'The label for option 1'),
array('value' => $value2, 'label' => 'The label for option 2'),
array('value' => $value3, 'label' => 'The label for option 3')
// ... etc ...
);
}