我已经搜索了几个小时,还没有找到这个问题的任何解决方案。我需要获取可配置产品的选项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,它来自另一个属性集。
如果你想获取选项id,你可以很容易地这样做:
$productModel = Mage::getModel('catalog/product')->load('1234', 'sku');
$attr = $productModel->getResource()->getAttribute("color");
if ($attr->usesSource()) {
echo $color_id = $attr->getSource()->getOptionId("Red");
}
有关详细信息,您可以查看此链接
我自己的查询,用于从数据库中获取属性选项id。您必须指定的只是属性名称和值。例如:
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')