[英]Add Customer Field and use in own forms in Magento 1.7
我在模塊更新中添加了新的客戶字段:
$installer = $this;
$installer->startSetup();
$_attributeToAdd = [
'recordtype'=>[
'input'=>'select',
'type'=>'varchar',
'label'=>Mage::helper('company_partner')->__('String'),
'visible'=>1,
'required'=>1,
'user_defined'=>1,
'global'=>1,
'visible_on_front'=>1,
'source'=>'company_partner/entity_recordtype'
],
'court'=>[
'input'=>'text',
'type'=>'varchar',
'label'=>Mage::helper('company_partner')->__('String),
'visible'=>1,
'required'=>0,
'user_defined'=>1
],
'krs'=>[
'input'=>'text',
'type'=>'varchar',
'label'=>Mage::helper('company_partner')->__('String'),
'visible'=>1,
'required'=>0,
'user_defined'=>1
],
...other fields
];
$_order=2200;
foreach($_attributeToAdd as $_key=>$_value){
if(isset($setup)){
unset($setup);
}
if(isset($_oAttribute)){
unset($_oAttribute);
}
$setup = Mage::getModel('customer/entity_setup', 'core_setup');
$_entitytypeId = $setup->getEntityTypeId('customer');
$_attributeTypeId = $setup->getDefaultAttributeSetId($_entitytypeId);
$_attributeGroupId = $setup->getDefaultAttributeGroupId($_entitytypeId,$_attributeTypeId);
$setup->addAttribute('customer',$_key,$_value);
$setup->addAttributeToGroup($_entitytypeId,$_attributeTypeId,$_attributeGroupId,$_key,$_order);
Mage::getSingleton('eav/config')->getAttribute('customer', $_key)->setData('used_in_forms', array('adminhtml_customer','customer_account_create','customer_account_edit','checkout_register','unizeto_partner_account_edit','magestore_affiliateplus_account_edit'))->save();
$_oAttribute = Mage::getSingleton('eav/config')->getAttribute('customer',$_key);
$_oAttribute->setData('used_in_forms',['adminhtml_customer']);
$_oAttribute->save();
$_order++;
}
$installer->endSetup();
我也嘗試過
$_oAttribute->setData('used_in_forms',['adminhtml_customer','company_module']);
而且我在管理面板(添加/編輯客戶)中看到了此屬性,但是在我自己的模塊中,我無法在表單/動作控制器中使用(看不到管理數據中的文件)。
我不知道為什么
我的模塊從其他非核心的magento模塊覆蓋了表單和動作控制器。
您可以使用此鏈接
創建客戶屬性。這很安全。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.