Magento:从定制表中获取简单的产品颜色

时间:2011-09-25 20:34:36

标签: function magento colors enterprise

我在Magento 1.10企业版中真的很挣扎。我有一系列简单的产品颜色ID,我想使用此id来查询atb_color表。原始查询:

SELECT description FROM atb_colors WHERE option_id = 'my_color_id'

这是我尝试构建的方法:

public function getColorData($product){ 
    $ids = $product->getTypeInstance()->getUsedProductIds();    
    foreach($ids as $id){
        $simpleproduct = Mage::getModel('catalog/product')->load($id);
                    -->Query using my_color_id

    }       
}

我可以用它来获取名称和数量。如果我把它放在foreach循环中:

echo $simpleproduct->getName()." - ".(int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($simpleproduct)->getQty() . '<br />';

我将如何运行此查询。请原谅我对Magento很新。掌握其中一些有点困难。但我正在完成这一段显示颜色和大小的截止日期。有帮助吗?请,请!!

提前致谢

1 个答案:

答案 0 :(得分:1)

这是最奇怪的黑客,但如果你真的很匆忙

public function getProductCustomColor($product)
{
    $ids = $product->getTypeInstance()->getUsedProductIds();
    foreach($ids as $id){
        $simpleProduct = Mage::getModel('catalog/product')->load($id);
        $select = $product->getResource()->getReadConnection()->select()
            ->from('atb_colors', array('description'))
            ->where('option_id = :my_color_id');
        $colorDescription = $product->getResource()->getReadConnection()
            ->fetchOne($select, array('option_id' => $simpleProduct->getYourColorId()));
        // ...
    }
}

致每个人:绝不以这种方式为magento编写代码