如何在opencart的功能页面中添加加减按钮

时间:2016-01-08 15:36:14

标签: php jquery opencart opencart2.x

我为plus&做了扩展减去产品页面中的数量,您可以查看http://www.opencart.com/index.php?route=extension/extension/info&extension_id=25282&filter_search=addplusminus&filter_license=0

我现在需要的是它默认情况下出现在Opencart主页上的Feature Product的工作。

到目前为止,我已经看到在feature.tpl和feature.php上只有产品ID在“ cart.add()”功能中发送,只有我需要弄清楚发送当前数量的产品“ cart.add()”功能,但我无法弄清楚经过多次工作...

这是我的代码:

 <div class="form-group">
   <i class="fa fa-minus pull-left" id="minus-qty"></i>
      <label class="control-label" for="input-quantity"><?php echo $entry_qty; ?></label>
      <input type="text" name="quantity" value="<?php echo $minimum; ?>" size="2" id="input-quantity" class="form-control" />
      <input type="hidden" name="product_id" value="<?php echo $product_id; ?>" />
   <i class="fa fa-plus" id="plus-qty"></i>
</div>

 //for add button
  <button type="button" onclick="var cartqty = $('#input-quantity').val();alert(cartqty);cart.add('<?php echo $product['product_id']; ?>',cartqty);">
  <i class="fa fa-shopping-cart"></i>
  <span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span>
  </button> 


现在它只为一种产品而不是为所有人工作,我如何为所有人工作......
在此先感谢。

1 个答案:

答案 0 :(得分:-1)

首先,您需要将所有#更改为.,不得在页面中重复id。它必须是独一无二的。 第二,你需要改变:

$('#input-quantity')

为:

$(this).next('.input-quantity')

或:

$(this).prev('.input-quantity')

现在这里是您更正的代码,javaScript部分:

<script>//minus quantity
    $('.minus-qty').css("margin-top", ".2em");
    $('.minus-qty').click(function(){
        var crtval = $(this).next('.input-quantity').val();
        if(crtval < 2){
            alert('Quanty Must Be 1');
        }
        else{
        var cartval = parseInt(crtval) - parseInt(1);
        //alert(cartval);
        $(this).next('.input-quantity').append().val(cartval);
        }
   });

        //add quantity
    $('.plus-qty').click(function(){
        var crtval = $(this).prev('.input-quantity').val();
        var cartval = parseInt(crtval) + parseInt(1);
        //alert(cartval);
        $(this).prev('.input-quantity').append().val(cartval);
   });
</script>