在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
之后,即使我刷新或返回,“请等待”消息也会永久挂起并且不会更新任何内容。
答案 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字段!
祝你好运