Magento сохранение опции продукта для атрибута с выпадающим типом - PullRequest
0 голосов
/ 19 сентября 2011

Я написал код, который автоматически импортирует продукты в основном что-то вроде:

$product->setName('my name');
$product->save();

Это хорошо для текстовых полей со свободной заливкой, но как бы я настроил, скажем, производителя, который является выпадающим меню? Есть ли способ, что если опция не существует, она автоматически добавит ее?

Спасибо

Ответы [ 2 ]

0 голосов
/ 19 сентября 2011

Это проверено в 1.5.0.1, вам просто нужно указать правильный идентификатор атрибута. Как сказано в @ B00MER, атрибут не будет создан, на который вы нацеливаетесь, но если атрибут существует, это создаст опции.

$eav_entity_setup = new Mage_Eav_Model_Entity_Setup('core_setup');

$new_option['attribute_id'] = $id;
$new_option['value']['_custom_'.$value][0] = $value;
$eav_entity_setup->addAttributeOption($new_option);

Документацию о addAttributeOption можно найти здесь. http://freegento.com/doc/d0/d7b/_eav_2_model_2_entity_2_setup_8php-source.html#l00603

0 голосов
/ 19 сентября 2011

Вам, к сожалению, придется самостоятельно создавать функциональность.И по умолчанию Magento не будет «автоматически» создавать опцию, если она не существует.

Чтобы просто установить идентификатор нужного значения (скажем, Sony был ID 12), вы можете сделать:

$product->setData('mfr', '12');

Однако вы можете найти гораздо больше информации о шагах, чтобы сделать то, что вы ищете:

http://www.arscommunity.com/wiki/magento/configurable-products-creation-code

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...