как добавить кнопку плюс минус на страницу функций в opencart

У меня есть расширение для количества плюсов и минусов на странице продукта, вы можете просмотреть http://www.opencart.com/index.php?route=extension/extension/info&extension_id=25282&filter_search=addplusminus&filter_license=0

Теперь мне нужно, чтобы его работа для Feature Product, которые по умолчанию отображаются на главной странице Opencart ..

Пока что я видел, что на feature.tpl и feature.php только идентификатор продукта отправляется в "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> 


Теперь он работает только для одного продукта, а не для всех, как я делаю это, чтобы работать для всех ..
Заранее спасибо.


person Anuj Khandelwal    schedule 08.01.2016    source источник


Ответы (1)


Сначала вам нужно изменить все # на ., id не должен повторяться на странице. он должен быть уникальным. Во-вторых, вам нужно изменить:

$('#input-quantity')

to:

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

or:

$(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>
person DigitCart    schedule 09.01.2016
comment
Просто с помощью скрипта vqmod или ocmod xml. - person DigitCart; 09.01.2016
comment
Спасибо за ответ. Но я решил это сам, и мой код похож на ваш. Я решил это с помощью vqmod с смещением - person Anuj Khandelwal; 09.01.2016
comment
Да, вы можете задать новый вопрос. - person DigitCart; 09.01.2016
comment
@AnujKhandelwal, если вы проголосовали против меня, могу я спросить причину? - person DigitCart; 13.01.2016
comment
это должно быть похоже на ‹button type = button onclick = var cartqty = $ (this) .prev (). prev ('. input-sizes'). val (); cart.add ('‹? php echo $ product [' product_id '];? ›', cartqty);› - person Dejavu; 13.01.2016
comment
Кнопки «минус» и «плюс» работают отлично, как и просил стартер. если вы имеете в виду событие добавления в корзину, это другой случай, не связанный с этим вопросом. - person DigitCart; 13.01.2016