Creating category attribute
$installer
=
$this
;
$installer
->startSetup();
$entityTypeId
=
$installer
->getEntityTypeId(
'catalog_category'
);
$attributeSetId
=
$installer
->getDefaultAttributeSetId(
$entityTypeId
);
$attributeGroupId
=
$installer
->getDefaultAttributeGroupId(
$entityTypeId
,
$attributeSetId
);
$installer
->addAttribute(
'catalog_category'
,
'new_cat_attrb'
,
array
(
'type'
=>
'int'
,
'label'
=>
'New Category Attribute'
,
'input'
=>
'text'
,
'global'
=> Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
'visible'
=> true,
'required'
=> false,
'user_defined'
=> false,
'default'
=> 0
));
$installer
->addAttributeToGroup(
$entityTypeId
,
$attributeSetId
,
$attributeGroupId
,
'new_cat_attrb'
,
'11'
//last Magento's attribute position in General tab is 10
);
$attributeId
=
$installer
->getAttributeId(
$entityTypeId
,
'new_cat_attrb'
);
$installer
->run("
INSERT INTO `{
$installer
->getTable(
'catalog_category_entity_int'
)}`
(`entity_type_id`, `attribute_id`, `entity_id`, `value`)
SELECT
'{$entityTypeId}'
,
'{$attributeId}'
, `entity_id`,
'1'
FROM `{
$installer
->getTable(
'catalog_category_entity'
)}`;
");
//this will set data of your custom attribute for root category
Mage::getModel(
'catalog/category'
)
->load(1)
->setImportedCatId(0)
->setInitialSetupFlag(true)
->save();
//this will set data of your custom attribute for default category
Mage::getModel(
'catalog/category'
)
->load(2)
->setImportedCatId(0)
->setInitialSetupFlag(true)
->save();
$installer
->endSetup();
config file script:
<resources>
<new_attribute_csv_setup>
<setup>
<module>New_Attribute</module>
<
class
>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</
class
>
</setup>
<connection>
<
use
>core_setup</
use
>
</connection>
</new_attribute_setup>
<new_attribute_setup_write>
<connection>
<
use
>core_write</
use
>
</connection>
</new_attribute_setup_write>
<new_attribute_setup_read>
<connection>
<
use
>core_read</
use
>
</connection>
</new_attribute_setup_read>
</resources>