Reputation: 894
We're on Magento CE 1.7.0.0, and we're trying to add new attributes to the Customer Group entities. We've successfully added custom attributes to Customers using the following install script:
<?php
$installer = $this;
$installer->startSetup();
$setup = Mage::getModel('customer/entity_setup', 'core_setup');
$setup->addAttribute('customer', 'ussco_account_number', array(
'type' => 'varchar',
'input' => 'text',
'label' => 'USSCO Account Number',
'note' => 'Leave blank for default',
'global' => 1,
'visible' => 1,
'required' => 0,
'user_defined' => 0,
'default' => '',
'visible_on_front' => 0,
'source' => NULL,
));
Mage::getSingleton('eav/config')
->getAttribute('customer', 'ussco_account_number')
->setData('used_in_forms', array('adminhtml_customer'))
->save();
$installer->endSetup();
Has anyone had any luck doing something similar with Customer Groups, rather than customers?
Upvotes: 6
Views: 8996
Reputation: 98
I 've had the same need to include a field in customer_group. I want to add here my sql script to add some custom fields into customer_group
$installer = $this;
$installer->startSetup();
$installer->getConnection()->addColumn($installer->getTable('customer_group'), 'my_custom_field1', 'varchar(100)');
$installer->getConnection()->addColumn($installer->getTable('customer_group'), 'my_custom_field2', 'varchar(100)');
$installer->endSetup();
Regards
Upvotes: 0
Reputation: 5670
If you take a look at the sql installer/update scripts you will find something like this:
$table = $installer->getConnection()
->newTable($installer->getTable('customer/customer_group'))
->addColumn('customer_group_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array(
'identity' => true,
'unsigned' => true,
'nullable' => false,
'primary' => true,
), 'Customer Group Id')
->addColumn('customer_group_code', Varien_Db_Ddl_Table::TYPE_TEXT, 32, array(
'nullable' => false,
), 'Customer Group Code')
->addColumn('tax_class_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
'unsigned' => true,
'nullable' => false,
'default' => '0',
), 'Tax Class Id')
->setComment('Customer Group');
As you can see its a simple mysql4 table and you simply need to add a column to the group. It is not EAV so you dont work with attributes on that one!
The new colum will not show up in the form or grid! You have to add this manually via observer or rewriting Mage_Adminhtml_Block_Customer_Group_Edit_Form
or Mage_Adminhtml_Block_Customer_Group_Grid
by adding something like this for e.g text field:
$fieldset->addField('your_column', 'text',
array(
'name' => 'Your_Column',
'label' => Mage::helper('customer')->__('Tax Class'),
'title' => Mage::helper('customer')->__('Tax Class'),
'class' => 'required-entry',
'required' => true
)
);
Upvotes: 8