我已使用
添加了自定义属性$setup->addAttribute('customer','default_business',array(
'type' => 'int',
'label' => 'Default Business Address',
'input' => 'text',
'backend' => 'orancustomer/customer_attribute_backend_business',
'required' => false,
'sort_order' => 200,
'visible' => 0,
'global' =>1,
'user_defined' => 1,));
$attr = $eavConfig->getAttribute('customer', 'default_business');
$attr->setData( 'used_in_forms', array('customer_account_create', 'customer_account_edit', 'checkout_register')///*'adminhtml_customer',*/
)->save();
它按预期工作。但当我试图删除它时,
$installer->removeAttribute('customer', 'default_business');
从eav_attribute表中删除了sucessfullu。但在管理部分我收到以下错误 致命错误:在第515行的D:\ xampp \ htdocs \ magoran \ app \ code \ core \ Mage \ Eav \ Model \ Entity \ Collection \ Abstract.php中的非对象上调用成员函数getBackend()
当我尝试调试时,我发现它仍然在搜索default_business属性。它仍然在管理客户页面中搜索属性。这是我在调试期间找到的查询
SELECT `eav_attribute`.* FROM `eav_attribute` WHERE (`eav_attribute`.`attribute_code`='oran_company') AND (entity_type_id = :entity_type_id)
BIND: array (
':entity_type_id' => '1',
)
答案 0 :(得分:0)
我发现它是由config.xml中的fieldset引起的。我从自定义模块的config.xml的fieldset中删除它后,修复了错误,还有一件事我发现在fieldset中添加新添加的属性并不是必须的。