如果具有多选择性属性,并希望在产品上设置选择。

$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);

有用

许可以下: CC-BY-SA归因
scroll top