我正在尝试完成一个带有多个选项的选择框 - 在类别的后端选择。
到目前为止,创建选择框的脚本正在运行,但只能使用单选。
$installer = $this;
$installer->startSetup();
$attribute = array(
'group' => 'Examplegroup',
'input' => 'select', // also tried multiselect
'type' => 'varchar',
'label' => 'Examplelabel',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => 1,
'required' => 0,
'visible_on_front' => 0,
'is_html_allowed_on_front' => 0,
'is_configurable' => 0,
'searchable' => 0,
'filterable' => 1,
'comparable' => 0,
'unique' => false,
'user_defined' => true,
'default' => '',
'is_user_defined' => false,
'used_in_product_listing' => true,
'option' => array('values' => array('option1', 'option2', 'option3', 'option4'))
);
$installer->addAttribute('catalog_category', 'attribute_name', $attribute);
$installer->endSetup();
我如何实现这个
我认为它应该与输入类型的multiselect一起使用,但它在升级后保留了一个选择选项。
答案 0 :(得分:1)
对于多选选项,请将input
设置为multiselect
并添加backend
模型eav/entity_attribute_backend_array
。
$installer = $this;
$installer->startSetup();
$attribute = array(
'group' => 'Examplegroup',
'input' => 'multiselect',
'type' => 'varchar',
'label' => 'Examplelabel',
'backend' => 'eav/entity_attribute_backend_array',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => 1,
'required' => 0,
'visible_on_front' => 0,
'is_html_allowed_on_front' => 0,
'is_configurable' => 0,
'searchable' => 0,
'filterable' => 1,
'comparable' => 0,
'unique' => false,
'user_defined' => true,
'default' => '',
'is_user_defined' => false,
'used_in_product_listing' => true,
'option' => array('values' => array('option1', 'option2', 'option3', 'option4'))
);
$installer->addAttribute('catalog_category', 'attribute_name', $attribute);
$installer->endSetup();
运行以下升级脚本以更新现有属性
$installer->startSetup();
$installer->updateAttribute('catalog_category', 'attribute_name', 'frontend_input', 'multiselect');
$installer->updateAttribute('catalog_category', 'attribute_name', 'backend_model', 'eav/entity_attribute_backend_array');
$installer->endSetup();
检查beforeSave
类的Mage_Eav_Model_Entity_Attribute_Backend_Array
函数,以了解后端模型。
希望它有所帮助!