【问题标题】:How to add quantity dropdown in cart for configurable product?如何在购物车中为可配置产品添加数量下拉列表?
【发布时间】:2013-10-09 22:25:19
【问题描述】:

您好
我正在使用 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>

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

【问题讨论】:

    标签: magento-1.7 checkout cart configurable-product


    【解决方案1】:

    我已经测试过了,这对我有用。

        $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>
    

    享受:)

    【讨论】:

      【解决方案2】:

      步骤:1 转到 app/design/frontend/base/default/template/catalog/product**/view/addtocart.phtml

      在 addtocart.phtml 文件中找到以下代码(大约第 33 行)

      <input name="qty" type="text" class="input-text qty" id="qty" maxlength="12" value="<?php echo $this->getMinimalQty($_product) ?>" />
      
      
      
      Replace with this code:
      
      This code shows the “Available Qty for Product”.
      <select class="input-text qty" name="qty" id="qty">
        <?php $i = 1 ?>
        <?php do { ?>
          <option value="<?php echo $i?>">
            <?php echo $i?>
            <?php $i++ ?>
          </option>
          <?php } while ($i <= (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty()) ?></select>
      
      
      **This code shows the “Maximum Qty Allowed in Shopping Cart”.**
      
      <select class="input-text qty" name="qty" id="qty">
        <?php $i = 1 ?>
        <?php do { ?>
          <option value="<?php echo $i?>">
            <?php echo $i?>
            <?php $i++ ?>
          </option>
          <?php } while ($i <= (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getMaxSaleQty()) ?></select>
      

      希望你能解决你的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-17
        • 1970-01-01
        • 1970-01-01
        • 2016-02-28
        • 1970-01-01
        • 2013-01-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多