新しい製品の複数選択属性を作成する方法は次のとおりです。
$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'
機能的に同一です。
いずれの場合も、キーに値を指定すると、テーブル columndefault
が正しく設定されます。しかし、「はい/いいえ」属性を持っていても、編集ページでの入力に関する限り、何もしません。「いいえ」がまだ選択されており、「1」が「はい」にマッピングされているため、「はい」を期待していました。eav_attribute
default_value
"default" => "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
),
);
複数選択でも同じことが起こります。デフォルトではオプションは選択されていません。
私はアイデアがありません。属性のデフォルト値を設定していない場合、「デフォルト」列/キーの目的を誰かが知っていますか? 新規/編集の製品バックエンド ページで属性の値を自動的に選択するように設定するにはどうすればよいですか?