我现在已经找了好几个小时,但是没有找到解决这个问题的办法。我需要获取可配置产品的选项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,它来自另一个属性集。
答案 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')