2013-08-19 56 views
4

我一直在尋找幾個小時,並沒有找到任何解決方案來解決這個問題。我需要獲取可配置產品的選項ID。我擁有的當前信息是SKU,屬性集ID和選項標籤。我如何使用這些值獲取選項ID?Magento獲取指定屬性集和值的選項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

如果你想獲取你這樣做很容易,就像這個選項ID:

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

有關詳細信息,您可以檢查此link

+0

感謝您的回答,但這不適用於我的情況。我需要指定一個屬性集(我有這個ID)。看看我的更新。 – SimCity

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')