如何通过标签编程设置产品的多选择属性
-
16-10-2019 - |
题
如果具有多选择性属性,并希望在产品上设置选择。
$selectedOptions = "red,green,blue";
$product->..... // # what to do?
我怎样才能做到这一点?
解决方案
可以将多选属性设置为包含属性值ID的逗号分隔列表(或数组)。
因此,首先,我们必须将实际值转换为Magento的内部ID。
$attrCode = 'color_base';
$sourceModel = Mage::getModel('catalog/product')->getResource()
->getAttribute($attrCode)->getSource();
$valuesText = explode(',', 'red,green,blue');
$valuesIds = array_map(array($sourceModel, 'getOptionId'), $valuesText);
$product->setData($attrCode, $valuesIds);
$product->save();
其他提示
修改上述代码的最后一行
$product->save();
和
$product->getResource()->saveAttribute($product, $attrCode);
有用