4

我一直在寻找几个小时,但没有找到任何解决这个问题的方法。我需要获取可配置产品的选项 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。

4

2 回答 2

4

如果您想获取选项 id,您可以像这样轻松完成:

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

有关详细信息,您可以查看此链接

于 2013-08-20T04:57:29.733 回答
0

我自己的查询,用于从数据库中获取属性选项 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')
于 2015-09-22T15:14:16.550 回答