所以我有
$attribute_option_id = Mage::getResourceModel('catalog/product')
->getAttributeRawValue($productId, 'my_attribute', $storeId);
这给了我类似$attribute_option_id = 12345
现在如何获取此ID的(文本)值?
由于
答案 0 :(得分:8)
这应该有用。
$product = Mage::getModel('catalog/product')->setStoreId($storeId)->load($productId);
$text = $product->getAttributeText('my_attribute');
<强> [编辑] 强>
如果你不想加载完整的产品,你可以做一个偷偷摸摸的想法。冒充产品。
所以你得到了像你已经做的选项ID
$attribute_option_id = Mage::getResourceModel('catalog/product')->getAttributeRawValue($productId, 'my_attribute', $storeId);
然后只创建一个空的产品实例并为其设置一些属性。
$product = Mage::getModel('catalog/product')
->setStoreId($storeId)
->setData('my_attribute', $attribute_option_id);//the result from above
$text = $product->getAttributeText('my_attribute');
已经确认这是有效的。 See it here
答案 1 :(得分:2)
这是一种适用于我的不同方法。
假设已知:$ _current_productid
$_Current_OptionId = Mage::getResourceModel('catalog/product')->getAttributeRawValue($_current_productid, $attribute_id,$store_id);
$_write = Mage::getSingleton('core/resource')->getConnection('core_write');
// now $_write is an instance of Zend_Db_Adapter_Abstract
$_readresult=$_write->query("SELECT value FROM eav_attribute_option_value WHERE option_id ='".$_Current_OptionId."'");
while ($row = $_readresult->fetch() ) {$_Current_OptionValue=$row['value'];}