无法在Magento上保存多选属性

use*_*605 3 magento

我通过安装程序创建了自定义多选产品属性.如果我只从多选值中选择一个选项,它可以保存产品.但是,如果我选择2个值,产品仍然可以保存,但会再次返回1个选定值.简而言之,我无法使用2个选定值保存属性.

$installer = $this;
$installer->startSetup();

$installer->addAttribute('catalog_product', 'attr_id',array(
         'label'             => 'Frontend Name',
         'type'              => 'int',
         'input'             => 'multiselect',
         'backend'           => 'eav/entity_attribute_backend_array',
         'frontend'          => '',
         'source'            => '',
         'global'            => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
         'visible'           => true,
         'required'          => false,
         'user_defined'      => true,
         'searchable'        => false,
         'filterable'        => false,
         'comparable'        => false,
         'option'            => array (
            'value' => array(
                     '0' => array('First Option'),
                     '1' => array('Second Option'),
                     '2' => array('Third Option'),
                     )
                    ),
         'visible_on_front'  => false,
         'visible_in_advanced_search' => false,
         'unique'            => false
));

$installer->endSetup();
Run Code Online (Sandbox Code Playgroud)

Mar*_*ius 7

问题来自您的属性类型.

'type'=> 'int',
Run Code Online (Sandbox Code Playgroud)

多选属性的值由逗号连接保存1,4,6.为此,您需要属性为varchartext.varchar如果您不打算为该属性提供数百个选项,我建议您这样做.
现在配置方式,当它被保存时,该值1,4,6将转换为int并最终成为1.