Si vous avez un attribut multisélection et que vous souhaitez définir la sélection sur un produit.
$selectedOptions = "red,green,blue";
$product->..... // # what to do?
Comment puis je faire ça?
Si vous avez un attribut multisélection et que vous souhaitez définir la sélection sur un produit.
$selectedOptions = "red,green,blue";
$product->..... // # what to do?
Comment puis je faire ça?
Les attributs multisélection peuvent être définis comme une liste séparée par des virgules (ou également un tableau) contenant les identifiants des valeurs d'attribut.
Nous devons donc d'abord convertir les valeurs réelles en identifiants internes de Magento.
$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();
Modifier la dernière ligne du code ci-dessus
avec
Ça marche
la source