通过Magento中的属性ID获取选项值


Answers:


16
$productModel = Mage::getModel('catalog/product');
$str_attr_label = "color";  //or "size", etc...
$int_attr_id = 8; // or any given id.
$int_attr_value = 21; // or any given attribute value id.

// Chose either
if ($byLabel){
    $attr = $productModel->getResource()->getAttribute($str_attr_label);
}
if ($byId){
    $attr = Mage::getModel('catalog/resource_eav_attribute')->load($int_attr_id);
}

if ($attr->usesSource()) {
    echo $color_label = $attr->getSource()->getOptionText($int_attr_value);
}       

11

简而言之-使用getAttributeText方法。

$product->getAttributeText('brand')

这是正确的答案。
欧文

1
这很难找到,但是却如此简单。
Patrick Lee Scott

2

如果有人找到此页面并想要一些低端的方法来查找任何种类的属性,而不仅仅是产品属性,下面是一个示例,它查找我创建的一个随机属性,该属性称为“ specialty”,并将所有选项列出为数组。

$attr = Mage::getResourceModel('eav/entity_attribute_collection')->setCodeFilter('specialty')->getData()[0];
$attributeModel = Mage::getModel('eav/entity_attribute')->load($attr['attribute_id']);
$src =  $attributeModel->getSource()->getAllOptions();
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.