删除客户表单属性

时间:2013-02-12 07:55:32

标签: php attributes magento-1.7

我已使用

添加了自定义属性
$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', 
 )

1 个答案:

答案 0 :(得分:0)

我发现它是由config.xml中的fieldset引起的。我从自定义模块的config.xml的fieldset中删除它后,修复了错误,还有一件事我发现在fieldset中添加新添加的属性并不是必须的。