Supongamos que tengo un atributo que es una colección de opciones (desplegable / multiselección).
Puedo recuperar el valor del atributo para un producto dado:
$store_id = [something];
$productId = [something];
// this is a select/multiselect
$attribute_code = [something];
$option_id = Mage::getResourceModel('catalog/product')->getAttributeRawValue($productId, $attribute_code, $store_id );
$option_label = ???
Ahora, obtuve el atributo option_id, que es un valor numérico ...
... ¿Cuál es la mejor manera de cargar la etiqueta de atributo de interfaz para mi valor de atributo? (sin cargar el producto completo)
Solución gracias Marius :
// Not loading the product - just creating a simple instance
$product = Mage::getModel('catalog/product')
->setStoreId($store_id)
->setData($attribute_code,$option_id);
$option_label = $product->getAttributeText($attribute_code);
getAttributeText('value')
no funciona correctamente si elgetAllOptions()
método del atributo devuelve opciones organizadas con matrices anidadas (expresadas como un<optgroup>
en el menú desplegable).Respuestas:
Además de su código ponga esto:
fuente
fuente