Допустим, я хочу создать атрибут "navoq_textmagic_phone", в котором будет храниться телефон кастомера для моего модуля. Пример кода:
/* @var $installer Navoq_TextMagic_Model_Resource_Setup */
$installer = $this;
$installer->startSetup();
$installer->addAttribute('customer', 'navoq_textmagic_phone', array(
'label' => 'Phone',
'visible' => true,
'required' => false,
'type' => 'text',
'input' => 'text'
));
/** @var $eavConfig Mage_Eav_Model_Config */
$eavConfig = Mage::getSingleton('eav/config');
/** @var $attribute Mage_Customer_Model_Attribute */
$attribute = $eavConfig->getAttribute('customer', 'navoq_textmagic_phone');
$attribute->addData(array(
'is_used_for_customer_segment' => true,
'used_in_forms' => array('customer_account_edit', 'adminhtml_customer'),
'is_user_defined' => true,
'backend_type' => 'varchar',
'is_system' => false,
'is_visible' => true,
'is_unique' => false,
'sort_order' => 250
))->save();
$installer->endSetup();
Результатом выполнения апгрейда будет новый атрибут кастомера. Таким способом можно создавать атрибуты для разных сущностей: customer, customer_address, etc. Их полный список можно посмотреть в таблице "eav_entity_type".
Читать далее