Magento获取指定属性集和值的选项ID

时间:2013-08-19 21:32:06

标签: php magento

我现在已经找了好几个小时,但是没有找到解决这个问题的办法。我需要获取可配置产品的选项ID。我拥有的当前信息是SKU,属性集ID和选项标签。如何使用这些值获取选项ID?

非常感谢能帮助我的人。

**更新**

这里是数据库表eav_attribute_option_value的一个示例(来自我猜测Magento获取ID的值)

value_id option_id store_id value   
729141   57        0        Rose
729142   57        3        Rose
729143   57        1        Pink
728847   749       0        Pink
728848   749       3        Pink
728849   749       1        Pink

我需要获取值ID 57.当语言环境是法语时,我得到正确的值。但是当我切换到英语时,我得到了ID 749,它来自另一个属性集。

2 个答案:

答案 0 :(得分:4)

如果您想要提取选项,如果您这样做很容易:

     $productModel = Mage::getModel('catalog/product')->load('1234', 'sku');
$attr = $productModel->getResource()->getAttribute("color");
if ($attr->usesSource()) {
    echo $color_id = $attr->getSource()->getOptionId("Red");
}

有关详细信息,请查看此link

答案 1 :(得分:0)

我自己从数据库中获取属性选项id的查询。您必须指定的是属性名称和值。 E.g:

SELECT ao.option_id
FROM `eav_attribute_option` AS ao, `eav_attribute_option_value` AS av
WHERE ao.option_id = av.option_id
AND av.value LIKE 'dragon'
AND ao.attribute_id IN
(SELECT attribute_id
 FROM eav_attribute
 WHERE attribute_code
 LIKE 'manufacturer')