Русский блог ET

Выбор значения атрибута по идентификатору значения

В одном из проектов возникла необходимость выбрать значение атрибута без привязки к товару, то есть объекта типа товар нет.

Получился такой код

01
    public function getOptionNameByOptionId($attributeCode, $optionId)
02
    {
03
        $result = '';
04
        if ($optionId) {
05
            $attributeModel = Mage::getModel('eav/entity_attribute');
06
            $attributeOptionsModel = Mage::getModel('eav/entity_attribute_source_table');
07
            $attributeId = $attributeModel->getIdByCode('catalog_product', $attributeCode);
08
            $attribute = $attributeModel->setStoreId(Mage::app()->getStore()->getId())->load($attributeId);
09
            $attributeOptionsModel->setAttribute($attribute);
10
            $options = $attributeOptionsModel->getAllOptions(false);
11
            foreach ($options as $option) {
12
                if ($option['value'] == $optionId) {
13
                    $result = $option['label'];
14
                    break;
15
                }
16
            }
17
        }
18
        return $result;
19
    }

Конечно, необходимо добавить проверки на пустые значения, но в принципе код работает.

Используется на Magento CE 1.5.1.0 и 1.6.2.0

Атрибут типа выпадающий список.

Comments are currently closed.