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?
To set Custom Customer Attribute value you have to use below block of code in your controller file : Here, we have used Magento\Customer\Model\Customer instance and created it's object($customer) and used Magento\Customer\Model\ResourceModel\CustomerFactory instance and created it's object($customerFactory).
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
)
);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With