Cómo programar mediante programación el atributo de selección múltiple de un producto por etiquetas


16

Si tiene un atributo de selección múltiple y desea establecer la selección en un producto.

$selectedOptions = "red,green,blue";
$product->..... // # what to do?

¿Cómo puedo hacer eso?

Respuestas:


24

Los atributos de selección múltiple se pueden establecer como una lista separada por comas (o también una matriz) que contiene los identificadores de valor de atributo.

Entonces, primero tenemos que convertir los valores reales a los ID internos 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();

esto no funciona, la página se sigue cargando con este código
Mp de la Vega

2

Modificar la última línea del código anterior

$product->save();

con

$product->getResource()->saveAttribute($product, $attrCode);

Funciona

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.