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);
2
Por que essa pergunta é dada várias vezes pelo autor exato e todos eles confundem usuários. Podemos marcar como duplicado como essas perguntas sem respostas corretas? Esta questão magento.stackexchange.com/questions/3003 dada pelo autor não possui respostas corretas, mas por que votações positivas (e respostas próprias)! Este magento.stackexchange.com/questions/976 também é o mesmo. Talvez meu pedido não esteja certo, mas uma pergunta, um autor e nenhuma resposta. Por favor, mantenha a qualidade do site. Obrigado.
—
mageUz
Eu melhorei a outra questão adicionando a solução @Marius magento.stackexchange.com/questions/3003/…
—
Fra
Note-se que, pelo menos em Magento CE 1.9 e EE 1.14 e abaixo,
—
Tyler V.
getAttributeText('value')
não funciona corretamente se o atributo de getAllOptions()
opções de método retorna combinado com matrizes aninhadas, (expressos como uma <optgroup>
na lista suspensa.)