Установить порядок параметров атрибута Multielect
-
16-10-2019 - |
Вопрос
В одном из модулей, которые мы разрабатываем, нам нужны для создания многопользовательского атрибута с несколькими вариантами. Очень важно, чтобы эти варианты получали определенный заказ по умолчанию.
Это текущий код для добавления атрибута:
$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 ver. 1.7.0.1
У кого -нибудь есть идея?
Решение
Сам поправил это, глядя на 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'
)
),