Предположим, у меня есть атрибут, представляющий собой набор параметров (выпадающий / множественный выбор).
Я могу получить значение атрибута для данного продукта:
$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 = ???
Теперь я получил атрибут option_id, который является числовым значением ...
... Каков наилучший способ загрузить метку атрибута внешнего интерфейса для моего значения атрибута? (без загрузки полного продукта)
Решение спасибо Мариусу :
// 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')
он не будет работать правильно, если метод атрибутаgetAllOptions()
возвращает опции, упорядоченные во вложенных массивах (выражается<optgroup>
в выпадающем списке.)Ответы:
В дополнение к вашему коду поместите это:
источник
источник