Can any one help me? When I create simple product in GUI I can set color value by dropdown menu.
My question is: How to assign color value programmatically, when I create simple product? I have spend whole day searching a way do to it.
Magento Stack Exchange is a question and answer site for users of the Magento e-Commerce platform. It only takes a minute to sign up.
Sign up to join this community$attr = $_product->getResource()->getAttribute('color');
$avid = $attr->getSource()->getOptionId('Blue'); //name in Default Store View
$_product->setData('color', $avid);
I found the answer from here for a simple product. I post here the code because the post I am referring to does not point out which Product Attribute value should be used.
I was updating product attributes programmatically and for attributes which have custom options work in this way
if ($color != '') {
$color_attr = $prod->getResource()->getAttribute('color');
if ($color_attr->usesSource()) {
$colour_opt = $color_attr->getSource()->getOptionId($color);
if ($available_color != $colour_opt) {
$prod->setData('color', $colour_opt);
$prod->getResource()->saveAttribute($prod, 'color');
$notification .= 'Colour is updated for SKU ' . $sku . PHP_EOL;
}
}
}