カテゴリにドロップダウン属性が必要です。私はインストーラーでこれをやろうとしました:
$installer = $this;
$installer->startSetup();
$entityTypeId = $installer->getEntityTypeId('catalog_category');
$attributeSetId = $installer->getDefaultAttributeSetId($entityTypeId);
$attributeGroupId = $installer->getDefaultAttributeGroupId($entityTypeId, $attributeSetId);
$installer->addAttribute('catalog_category', 'priority', array(
'type' => 'varchar',
'label' => 'Priority2',
'input' => 'select',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
'visible' => true,
'required' => false,
'user_defined' => false,
'option' => array(
'value' => array(
0 => array(''),
1 => array('normal'),
2 => array('grouping'),
3 => array('highlighted'),
4 => array('trendy'),
),
),
'default' => array(0),
));
$installer->addAttributeToGroup(
$entityTypeId, $attributeSetId, $attributeGroupId, 'priority', '11'
);
$attributeId = $installer->getAttributeId($entityTypeId, 'priority');
$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')}`;
");
Mage::getModel('catalog/category')
->load(1)
->setImportedCatId(0)
->setInitialSetupFlag(true)
->save();
Mage::getModel('catalog/category')
->load(2)
->setImportedCatId(0)
->setInitialSetupFlag(true)
->save();
$installer->endSetup();
しかし、うまくいきません。カタログ -> カテゴリ -> カテゴリの管理に何も表示されません。次のような textfield 属性のみを作成できます。
$installer->addAttribute('catalog_category', 'priority', array(
'type' => 'varchar',
'label' => 'Priority2',
'input' => 'text',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
'visible' => true,
'required' => false,
'user_defined' => false,
'default' => '',
));
あなたはなにか考えはありますか?助けてくれてありがとう。
編集。
また、次のように SQL クエリを関連付けました。
INSERT INTO eav_attribute (entity_type_id, attribute_code, attribute_model, backend_model, backend_type, backend_table, frontend_model, frontend_input, frontend_label, frontend_class, source_model, is_required, is_user_defined, default_value, is_unique, note) VALUES
(9, 'priority', NULL, 'NULL', 'int', 'NULL', 'NULL', 'select', 'Priority', NULL, 'eav/entity_attribute_source_table', 1, 0, 0, 0, '');
INSERT INTO eav_attribute_option (option_id,attribute_id,sort_order) VALUES
(1500,282,0),
(1501,282,1),
(1502,282,2),
(1503,282,3),
(1504,282,4);
INSERT INTO eav_attribute_option_value (value_id,option_id,store_id,value) VALUES
(201,1500,0,''),
(202,1501,0,'normal'),
(203,1502,0,'grouping'),
(204,1503,0,'highlighted'),
(205,1504,0,'trendy');
INSERT INTO eav_entity_attribute (entity_type_id, attribute_set_id, attribute_group_id, attribute_id, sort_order) VALUES
(9, 12, 7, (SELECT atribute_id FROM eav_attribute WHERE attribute_code='priority'), 2);