2012-03-23 3 views
0

Я не могу найти удовлетворительный ответ на следующий вопрос:Magento - Добавить атрибут глобальный продукт

Что бы оптимальным для модуля, чтобы добавить новый атрибут продукта в все attribute_sets (и, возможно, в в определенном месте).

Все подходы, которые я могу найти, похоже, относятся к добавлению нового атрибута только к одному набору атрибутов.

ответ

4

Существует Magento способ для него
Пример:

$installer->addAttribute('catalog_product', 'test_me', array(
'label'   => 'test Me', 
'input'   => 'textarea', 
'type'   => 'text', 
'class'   => '', 
'global'  => true, 
'visible'  => true, 
'required'  => false, 
'user_defined' => true, 
'default'  => '', 
'apply_to'  => 'simple,configurable', 
'visible_on_front' => true, 
'is_configurable' => false, 
'wysiwyg_enabled' => true, 
'used_in_product_listing' => true, 
'is_html_allowed_on_front' => true, 
'group'   => 'Config', 
'sort_order' => 25 

));

Чтобы добавить атрибут в каждый атрибут_set, вам необходимо установить 'user_defined' = true и установить 'group' = 'your_group_name'. При необходимости magento добавит вашу группу в каждый набор атрибутов и добавит к ней атрибут.

+0

Спасибо, собираюсь попробовать это :-) –

+0

Отлично работает, спасибо –

+1

Быстрое примечание: Mage_Eav_Model_Entity_Setup :: addAttribute (в 1.6.x) добавит ваш новый атрибут для всех наборов (очень медленно), если вы укажете имя группы, если user_defined оставлено неустановленным, или и то, и другое. Если вы не укажете имя группы, он поместит атрибут в группу «Общие». – wierdo

0

После добавления атрибута вы можете назначить его одному или всем наборам атрибутов, он не уникален для первого набора, которому вы его назначили. Отвечает ли это на ваш вопрос?

+0

Что я в основном хочу знать, так это мне нужно «вручную» пройти через все наборы атрибутов и добавить его, или есть какой-то глобальный флаг, который делает атрибут доступным для всех наборов атрибутов по умолчанию? –

+0

Я не знаю, как быстро, но может быть и один .. –

Смежные вопросы