Magento:按产品ID获得分组产品的最低价格?

iam*_*esy 2 php magento

我有一段代码可以返回包含价格的产品数据.但是对于分组产品,它不会给出价格.

有没有办法获取分组产品的ID并获得该组的最低价格?

这是我的代码:

<?php
    $id_array = strip_tags($this->getLayout()->createBlock('cms/block')->setBlockId('homepage-newest-product')->toHtml());
    $product_id = explode(',',$id_array);


    foreach ($product_id as $id):
        $productDetails = Mage::getModel('catalog/product')->load($id)->getData();
        //var_dump($productDetails);
    ?>
    <li class="a-center span-3">
        <a href="<?php echo $this->getBaseUrl() . $productDetails['url_path']; ?>"><img src="<?php echo $media_url . 'catalog/product' . $productDetails['thumbnail']; ?>" width="80" height="80"/></a>
        <a href="<?php echo $this->getBaseUrl() . $productDetails['url_path']; ?>" class="clearfix"><?php echo $productDetails['name']; ?></a>
        <?php if($productDetails['price']): ?>
        <span>
        <?php echo $_coreHelper->currency($productDetails['price'],true,false) ?>
        </span>
        <?php endif; ?>
    </li>
    <?php endforeach; ?>
Run Code Online (Sandbox Code Playgroud)

我希望我有一个功能,它采用分组ID并查找组的最低价格,然后返回价格.

Max*_*nko 8

方法如下所示:

public function prepareGroupedProductPrice($groupedProduct)
{
    $aProductIds = $groupedProduct->getTypeInstance()->getChildrenIds($groupedProduct->getId());

    $prices = array();
    foreach ($aProductIds as $ids) {
        foreach ($ids as $id) {
            $aProduct = Mage::getModel('catalog/product')->load($id);
            $prices[] = $aProduct->getPriceModel()->getPrice($aProduct);
        }
    }

    krsort($prices);
    $groupedProduct->setPrice(array_shift($prices));

    // or you can return price
}
Run Code Online (Sandbox Code Playgroud)

您也可以通过活动准备价格,但这个问题是获得最低团体价格的最简单方法.