Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在地址中添加2个自定义字段后,对非对象上的成员函数setAttribute()的Magento调用_Php_Magento - Fatal编程技术网

Php 在地址中添加2个自定义字段后,对非对象上的成员函数setAttribute()的Magento调用

Php 在地址中添加2个自定义字段后,对非对象上的成员函数setAttribute()的Magento调用,php,magento,Php,Magento,使用Magento 1.9.0.1,我添加了一个模块,将2个自定义字段插入地址。请查看“我的另一个”中的代码 安装模块后,账单地址出现以下错误: 致命错误:在第80行的/home/onceecom/public\u html/dev/includes/src/Mage\u Eav\u Model\u Attribute\u Data.php中对非对象调用成员函数setAttribute 尚未修改页面以显示新字段,但已出现错误。如何调试这种错误 p、 不确定是否相关,我修改了系统>配置>客户>客户

使用Magento 1.9.0.1,我添加了一个模块,将2个自定义字段插入地址。请查看“我的另一个”中的代码

安装模块后,账单地址出现以下错误:

致命错误:在第80行的/home/onceecom/public\u html/dev/includes/src/Mage\u Eav\u Model\u Attribute\u Data.php中对非对象调用成员函数setAttribute

尚未修改页面以显示新字段,但已出现错误。如何调试这种错误

p、 不确定是否相关,我修改了系统>配置>客户>客户配置>地址模板>HTML中的客户地址显示选项:

{{depend prefix}}{{var prefix}} {{/depend}}{{var firstname}} {{depend middlename}}{{var middlename}} {{/depend}}{{var lastname}}{{depend suffix}} {{var suffix}}{{/depend}}<br/>
{{depend company}}{{var company}}<br />{{/depend}}
{{if street1}}{{var street1}}<br />{{/if}}
{{depend street2}}{{var street2}}<br />{{/depend}}
{{depend street3}}{{var street3}}<br />{{/depend}}
{{depend street4}}{{var street4}}<br />{{/depend}}
{{depend chk_commercial}}{{var chk_commercial}}<br />{{/depend}}
{{depend chk_residential}}{{var chk_residential}}<br />{{/depend}}
{{if city}}{{var city}},  {{/if}}{{if region}}{{var region}}, {{/if}}{{if postcode}}{{var postcode}}{{/if}}<br/>
{{var country}}<br/>
{{depend telephone}}T: {{var telephone}}{{/depend}}
{{depend fax}}<br/>F: {{var fax}}{{/depend}}
{{depend vat_id}}<br/>VAT: {{var vat_id}}{{/depend}}

chk_商业区和chk_住宅区是我添加的两个领域。删除设置中的这两个字段不会删除错误。

我想我发现了问题所在。从Magento CE 1.9.0.1开始,我使用的config.xml结构变得无效

因此,我使用以下工具重新生成模块:


希望这能帮助其他需要帮助的人。

将自定义字段添加到sales\u flat\u quote\u地址的模块的目的是什么。我想您需要客户地址的其他字段?是的,没错。DB表sales\u flat\u order\u address和sales\u flat\u quote\u address中添加了两列您的致命错误源于创建的属性。其他数据库列不会触发致命错误。您是否可以将属性重置为香草设置,然后只需更改表以包含其他列。虽然您只需更改sales\u flat\u order\u address表,因为quote header表及其子项只是一个购物车预订单。然后,我建议您在创建订单时添加一个观察者,以这种或那种方式填充字段,然后直接访问它们?如何添加观察者?我在模块代码中遗漏了什么?或者默认设置不正确?通常您会使用magento管理面板向用户地址添加额外的eav值,并根据需要进行设置/依此类推。也许这是最好的方法,因为eav表是可扩展的,用户可以从管理面板简单地创建它们。我的意思是重新安装Magento或将表恢复到其原始设置。