I want to set sort order in attribute. In mysql file i m used this
$installer->addAttribute('customer','badge', array(
'label' => 'Badge',
'type' => 'text', //backend_type
'input' => 'multiselect', //frontend_input
'backend' => 'eav/entity_attribute_backend_array',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'source' => 'marketplace/eav_entity_attribute_source_badge', // Goes to Step 2
'visible' => true,
'required' => false,
'default' => '',
'frontend' => '',
'unique' => false,
'note' => '',
'sort_order' => 10
));
Mage::getSingleton('eav/config')
->getAttribute('customer', 'badge')
->setData('used_in_forms', array('customer_account_create','customer_account_edit','customer_address_edit','checkout_onepage_register','checkout_onepage_register_guest','checkout_onepage_billing_address','adminhtml_customer','checkout_onepage_shipping_address','checkout_multishipping_register'))
->save();
but it not worked how to set sort order for this attribute
when you add attribute programmatically that time you have to set order like this
Mage::getSingleton('eav/config')
->getAttribute('customer', 'badge')
->setSortOrder(100)
->setData('used_in_forms', array('customer_account_create','customer_account_edit','customer_address_edit','checkout_onepage_register','checkout_onepage_register_guest','checkout_onepage_billing_address','adminhtml_customer','checkout_onepage_shipping_address','checkout_multishipping_register'))
->save();
'sort_order' is not worked
Or
You have to use position instead of sort_order.
'position' => 20
From Mage_Customer_Model_Resource_Setup
/**
* Prepare customer attribute values to save in additional table
*
* @param array $attr
* @return array
*/
protected function _prepareValues($attr)
{
$data = parent::_prepareValues($attr);
$data = array_merge($data, array(
'is_visible' => $this->_getValue($attr, 'visible', 1),
'is_system' => $this->_getValue($attr, 'system', 1),
'input_filter' => $this->_getValue($attr, 'input_filter', null),
'multiline_count' => $this->_getValue($attr, 'multiline_count', 0),
'validate_rules' => $this->_getValue($attr, 'validate_rules', null),
'data_model' => $this->_getValue($attr, 'data', null),
'sort_order' => $this->_getValue($attr, 'position', 0)
));
return $data;
}