Magento - 编辑客户信息然后保存会导致错误

时间:2013-12-05 00:51:40

标签: magento

在Magento中,在客户下,当您编辑客户时,从最小的更改甚至没有更改,然后单击保存,我在调试控制台中收到以下错误:

Recoverable Error: Argument 1 passed to Mage_Eav_Model_Attribute_Data::factory() 
must be an instance of Mage_Eav_Model_Attribute, instance of 
Mage_Eav_Model_Entity_Attribute given, called in 
/var/www/html/app/code/core/Mage/Eav/Model/Form.php on line 327 and defined  in 
/var/www/html/app/code/core/Mage/Eav/Model/Attribute/Data.php on line 59

之后,即使我刷新或返回,“请等待”消息也会永久挂起并且不会更新任何内容。

2 个答案:

答案 0 :(得分:1)

好的,我能够解决我的问题。它是由Amasty Customer Attribute扩展引起的,因为我最近更新了我的数据库。我禁用了它,问题就消失了。

答案 1 :(得分:0)

我收到了这个错误:

传递给Mage_Eav_Model_Attribute_Data :: factory()的参数1必须是Mage_Eav_Model_Attribute的一个实例,Mage_Eav_Model_Entity_Attribute的实例给出

查看页面源,我看到页面在输出客户性别之前就已停止。我发现eav_attribute.attribute_model已经使用' eav / entity_attribute'进行了更新。对于性别' attribute_code。

临时修复: 更新eav_attribute SET attribute_model ='' WHERE attribute_code ='性别&#39 ;;

然后,破碎的页面再次正常工作......直到发生某些事情并且使用' eav / entity_attribute'更新值。再次...

背景: 我确实使用相同的attribute_code创建了我自己的属性'性别' ( - 这是一个什么错误),但后来删除了我的属性,但问题在一天中间歇性地持续存在。我相信它是在每个新订单之后或在保存一些对象之后。

结论: 我相信问题发生在使用现有attribute_code创建新属性。删除&使用新的attribute_code重新创建新属性。停止以某种方式更新eav_attribute.attribute_model字段!

祝你好运