3
下面是如何创建一个新的产品多选属性:编程设置多选的默认值/选择Magento的属性
$eav = new Mage_Catalog_Model_Resource_Setup('core_setup');
$eav->addAttribute(
Mage_Catalog_Model_Product::ENTITY,
"product_country",
array(
'label' => 'Country',
'group' => 'General',
'type' => 'text',
'input' => 'multiselect',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE,
'user_defined' => true,
'required' => true,
'visible' => true,
'source' => 'ns/some_source', // this source has the "UK" value
'backend' => 'eav/entity_attribute_backend_array',
'default' => 'UK',
)
);
我也试过用“是/否”使用
"type" => "boolean"
值
或
"type" => "select",
'source' => 'eav/entity_attribute_source_boolean'
它们在功能上是相同的。
在所有情况下,使用具有值的default
键正确填充eav_attribute
表的列default_value
。但对于“是/否”属性,"default" => "1"
不会执行任何操作,只要在编辑页面上输入即可。 “否”仍处于选中状态,并且我期待“是的”,因为“1”被映射到“是”:
// Mage_Eav_Model_Entity_Attribute_Source_Boolean
$this->_options = array(
array(
'label' => Mage::helper('eav')->__('Yes'),
'value' => 1
),
array(
'label' => Mage::helper('eav')->__('No'),
'value' => 0
),
);
同样的事情发生了多选:没有选项是默认选中。
我出来的想法。有谁知道“默认”列/键的目的是什么,如果不设置属性的默认值?如何在新/编辑产品后端页面上设置属性的值自动选择?
也有这个问题..你解决了吗? –
使用multiselect布尔值是没有意义的......整点是一个布尔值,它有两个值0/1。 – Andrew