Установите порядок параметров множественного выбора атрибутов в сценарии установки
В одном из модулей, которые мы разрабатываем, нам требуется создать атрибут с несколькими вариантами выбора. Очень важно, чтобы этим параметрам по умолчанию был задан определенный порядок.
Это текущий код для добавления атрибута:
$installer->addAttribute('catalog_product', 'tariffplan_sms_slider', array(
'attribute_set' => 'Randomattributeset',
'group' => 'Sample',
'type' => 'varchar',
'default' => 0,
'required' => false,
'visible' => true,
'backend' => 'eav/entity_attribute_backend_array',
'frontend' => '',
'label' => 'Random label',
'note' => '',
'input' => 'multiselect',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE,
'option' => array ('value' =>
array(
'one' => array("Low"),
'two' => array("Medium"),
'three' => array('High'),
'four' => array('Unlimited')
)
),
'visible' => true,
'required' => false,
'user_defined' => true,
'default' => 0,
'visible_on_front' => false,
'used_in_product_listing' => false,
'unique' => false
));
Как вы можете видеть, я даю множество опций для этого атрибута, который будет создан. Кроме того, я хотел бы установить порядок (см. Поля ввода позиции в бэкэнде) каждого вариант.
Я пробовал следующее ниже, но это не работает:
'option' => array (
'value' => array(
'one' => array("Don't care"),
'two' => array("Low"),
'three' => array('High'),
'four' => array('Unlimited')
),
'order' => array(
'one' => 0,
'two' => 1,
'three' => 2,
'four' => 3
)
),
Версия: Magento версии 1.7.0.1
У кого-нибудь есть идея?
1 answers
Исправил это сам, посмотрев на метод addAttributeOption()
внутри Mage_Eav_Model_Entity_Setup
:
Результат:
$installer->addAttribute('catalog_product', 'tariffplan_sms_slider', array(
'attribute_set' => 'Randomattributeset',
'group' => 'Sample',
'type' => 'varchar',
'default' => 0,
'required' => false,
'visible' => true,
'backend' => 'eav/entity_attribute_backend_array',
'frontend' => '',
'label' => 'Random label',
'note' => '',
'input' => 'multiselect',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE,
'option' => array (
'values' => array(
'1' => 'Low',
'2' => 'Medium',
'3' => 'High',
'4' => 'Unlimited'
)
),
'visible' => true,
'required' => false,
'user_defined' => true,
'default' => 0,
'visible_on_front' => false,
'used_in_product_listing' => false,
'unique' => false
));
Для тех, кто не видит это сразу, вам в основном просто нужно было изменить значение, которое вы даете ключу "опция":
'option' => array ('value' =>
array(
'one' => array("Low"),
'two' => array("Medium"),
'three' => array('High'),
'four' => array('Unlimited')
)
),
В (см., как значение изменило значение ito на значения):
'option' => array (
'values' => array(
'1' => 'Low',
'2' => 'Medium',
'3' => 'High',
'4' => 'Unlimited'
)
),