【发布时间】:2016-05-09 06:52:13
【问题描述】:
我必须在 billing.phtml 中调用自定义模块类,它会在结帐页面上显示额外的字段。
但我收到PHP Fatal error: Call to a member function getAllOptions() on a non-object
下面是我的代码 -
文件名 - Business.php
文件路径 - /var/www/html/app/code/community/Partsimple/CustomFields/Model/Primarybusiness
class Partsimple_CustomFields_Model_Primarybusiness_Business extends Mage_Eav_Model_Entity_Attribute_Source_Table
{
public function getAllOptions()
{
if (!$this->_options) {
$this->_options[] = array(
'value' => '',
'label' => 'Please Select Primary Business'
);
$this->_options[] = array(
'value' => 1,
'label' => 'End Consumer / DIY'
);
$this->_options[] = array(
'value' => 2,
'label' => 'Service Technician'
);
$this->_options[] = array(
'value' => 3,
'label' => 'Other Professional'
);
// $this->_options = Mage::getResourceModel('directory/region_collection')->load()->toOptionArray();
}
return $this->_options;
}
}
**文件名 - **config.xml****
<config>
<modules>
<Partsimple_CustomFields>
<version>1.0.1</version>
</Partsimple_CustomFields>
</modules>
<global>
<models>
<Partsimple_CustomFields>
<class>Partsimple_CustomFields_Model</class>
</Partsimple_CustomFields>
</models>
<fieldsets>
<customer_account>
<vendor_account>
<create>1</create>
<update>1</update>
</vendor_account>
</customer_account>
<customer_address>
<vendor_account>
<to_quote_address>*</to_quote_address>
</vendor_account>
<primary_business>
<to_quote_address>*</to_quote_address>
<primary_business>
</customer_address>
<sales_convert_order_address>
<vendor_account>
<to_quote_address>*</to_quote_address>
</vendor_account>
</sales_convert_order_address>
<sales_convert_quote_address>
<vendor_account>
<to_order_address>*</to_order_address>
<to_customer_address>*</to_customer_address>
</vendor_account>
<primary_business>
<to_order_address>*</to_order_address>
<to_customer_address>*</to_customer_address>
</primary_business>
</sales_convert_quote_address>
</fieldsets>
</global>
</config>
我在 billing.phtml 文件中写下一行来调用上面的business.php 类方法getAlloptions();
<?php echo Mage::getModel('partsimple/customFields_model_primarybusiness_business')->getAllOptions();?>
我也试过打印类
<?php echo "Class: ".get_class(Mage::getModel('partsimple/customfields_model_primarybusiness_business'));?>
但我什么也得不到。 请让我知道我在哪里做错了, 我想在 billing.phtml 上调用这个方法。
更新
在 config.xml 文件中进行更正后,它工作正常。
要检查
config.xml中的错误,请在> 任何编辑器中编辑后在浏览器中打开此文件,以便显示错误。
现在该属性显示结帐页面和管理客户页面以及客户我的帐户部分,但在此部分中。我无法更新它。 config.xml fot customer_account 标签中需要添加哪些字段。
我在config.xml中添加了这样的
<customer_account>
<primary_business>
<create>1</create>
<update>1</update>
</primary_business>
</customer_account>
【问题讨论】:
-
你当然想要:
Mage::getModel('partsimple_customFields/primarybusiness_business') -
是的,我想回显那个类方法数组
标签: magento magento-1.7 magento-1.9