我在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很新。掌握其中一些有点困难。但我正在完成这一段显示颜色和大小的截止日期。有帮助吗?请,请!!
提前致谢
答案 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编写代码。