如何在购物车中为可配置产品添加数量下拉菜单?

Jai*_*iya 0 checkout cart configurable-product magento-1.7

您好
我使用的是magento 1.7.0.2 CE.我需要显示产品数量的下拉列表,以允许用户从购物车页面上的下拉菜单中选择数量.我添加了一个checkout/cart/item/default.phtml相同的代码,

<?php echo $min_sale_qty = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($this->getProduct())->getData('min_sale_qty');
 $total_qyt = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($this->getProduct())->getQty();
     ?>
    <select name="cart[<?php echo $_item->getId() ?>][qty]">
    <?php for($i = $min_sale_qty; $i <= $total_qyt; $i = $i + $min_sale_qty)
      {
      ?>
    <option value="<?php echo $i?>" <?php echo ($i == $this->getQty())? "selected=selected": ""; ?>>
      <?php echo $i?>
    </option>
   <?php }?> 
   </select>
Run Code Online (Sandbox Code Playgroud)

此代码正确显示简单产品的下拉列表.但是当我将可配置产品添加到我的购物车时,它会显示我的下拉列表而没有任何选项可供选择.
任何人都可以帮助我吗?提前致谢.

小智 6

我已经测试过,这对我有用.

    $simpleProduct = $this->getProduct();
    if ($this->getProduct()->getTypeId() == 'configurable') {
        foreach ($_item->getQuote()->getAllItems() as $simpleItem){
            if ($simpleItem->getParentItemId() == $_item->getId()){
                $simpleProduct = $simpleItem->getProduct();
                break;
            }
        }
    }
    $stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($simpleProduct);
    $min_sale_qty = (int)$stockItem->getData('min_sale_qty');
    $total_qyt = (int)$stockItem->getQty();

    ?>
    <select name="cart[<?php echo $_item->getId() ?>][qty]">
        <?php for($i = $min_sale_qty; $i <= $total_qyt; $i = $i + $min_sale_qty) : ?>
            <option value="<?php echo $i?>" <?php echo ($i == $this->getQty())? "selected=selected": ""; ?>>
                <?php echo $i?>
            </option>
        <?php endfor;?>
    </select>
Run Code Online (Sandbox Code Playgroud)

请享用 :)