Suponha que eu tenha um atributo que seja uma coleção de opções (lista suspensa / seleção múltipla).
Eu posso recuperar o valor do atributo para um determinado produto:
$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 = ???
Agora, eu tenho o atributo option_id, que é um valor numérico ...
... Qual é a melhor maneira de carregar o rótulo de atributo de front-end para o meu valor de atributo? (sem carregar o produto completo)
Solução graças 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);
attributes
collection
eav
Fra
fonte
fonte
getAttributeText('value')
não funciona corretamente se o atributo degetAllOptions()
opções de método retorna combinado com matrizes aninhadas, (expressos como uma<optgroup>
na lista suspensa.)Respostas:
Além do seu código, coloque isso:
fonte
fonte