deadiwe Posted July 18, 2022 at 10:04 AM Share Posted July 18, 2022 at 10:04 AM {% if quantity > 0 %} <div class="product__buy"> <label class="control-label" for="input-quantity">{{ entry_qty }}</label> <div class="quantity-box"> <input type="text" name="quantity" value="{{ minimum }}" size="2" id="input-quantity" class="" /> <input type="button" id="minus" value="-" class="" /> <input type="button" id="plus" value="+" class=""/> </div> <input type="hidden" name="product_id" value="{{ product_id }}" /> <button type="button" id="button-cart" class="product__buy-btn btn btn-primary">{{ button_cart }}</button> <span class="product__reward-text">{{ product.status }}</span> </div> {% else %} <div class="product__not-in-stock">{{ text_not_in_stock }}</div> {% endif %} {{ product_info }} Ввод кол-ва и + - <script> //Кнопка добавления товара $('#button-cart').on('click', function() { $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea'), dataType: 'json', beforeSend: function() { $('#button-cart').button('loading'); }, complete: function() { $('#button-cart').button('reset'); }, success: function(json) { $('.alert-dismissible, .text-danger').remove(); $('.form-group').removeClass('has-error'); if (json['error']) { if (json['error']['option']) { for (i in json['error']['option']) { var element = $('#input-option' + i.replace('_', '-')); if (element.parent().hasClass('input-group')) { element.parent().after('<div class="text-danger">' + json['error']['option'][i] + '</div>'); } else { element.parent().after('<div class="text-danger">' + json['error']['option'][i] + '</div>'); } } } if (json['error']['recurring']) { $('select[name=\'recurring_id\']').after('<div class="text-danger">' + json['error']['recurring'] + '</div>'); } // Highlight any found errors $('.text-danger').parent().addClass('has-error'); } if (json['success']) { $('#product-product').before('<div class="alert alert-success alert-dismissible alert-firestore" role="alert">' + json['success'] + ' <button type="button" class="btn-close button-reset" data-bs-dismiss="alert" aria-label="Close"><i class="las la-times"></i></button></div>'); setTimeout(() => $('.alert-firestore').remove(), 3000); // Need to set timeout otherwise it wont update the total cart.updateCart(json); $('html, body').animate({ scrollTop: 0 }, 300); $('#cart .cart-modal__list').load('index.php?route=common/cart/info ul li'); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); }); $(document).ready(function() { var minimum = {{ minimum }}; $("#product-product #input-quantity").change(function(){ if ($(this).val() < minimum) { alert("Minimum Quantity: "+minimum); $("#product-product #input-quantity").val(minimum); } }); // Увеличиваем кол-во продукта function minus(minimum){ var currentval = parseInt($("#product-product #input-quantity").val()); $("#product-product #input-quantity").val(currentval-1); if($("#product-product #input-quantity").val() <= 0 || $("#product-product #input-quantity").val() < minimum){ alert("Minimum Quantity: "+minimum); $("#product-product #input-quantity").val(minimum); } }; // Уменьшаю кол-во продукта function plus(){ var currentval = parseInt($("#product-product #input-quantity").val()); $("#product-product #input-quantity").val(currentval+1); }; $('#product-product #minus').click(function(){ minus(minimum); }); $('#product-product #plus').click(function(){ plus(); }); }); При добавлении товара в корзину. почему-то вносится +1 товар, а не выбранное количество. 0 Quote Link to comment Share on other sites More sharing options...
AlexDW Posted July 18, 2022 at 03:02 PM Share Posted July 18, 2022 at 03:02 PM дык, неудивительно сравните добавление в родном common.js url: 'index.php?route=checkout/cart/add', type: 'post', data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1), со своим url: 'index.php?route=checkout/cart/add', type: 'post', data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea'), 1 Quote модули для удобной работы с Opencart Link to comment Share on other sites More sharing options...
deadiwe Posted July 19, 2022 at 02:48 AM Author Share Posted July 19, 2022 at 02:48 AM 11 часов назад, AlexDW сказал: дык, неудивительно сравните добавление в родном common.js url: 'index.php?route=checkout/cart/add', type: 'post', data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1), со своим url: 'index.php?route=checkout/cart/add', type: 'post', data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea'), Тогда вообще перестает работать кнопка... 0 Quote Link to comment Share on other sites More sharing options...
deadiwe Posted July 19, 2022 at 03:11 AM Author Share Posted July 19, 2022 at 03:11 AM 12 часов назад, AlexDW сказал: дык, неудивительно сравните добавление в родном common.js url: 'index.php?route=checkout/cart/add', type: 'post', data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1), со своим url: 'index.php?route=checkout/cart/add', type: 'post', data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea'), Передает мой скрипт верное значение, почему-то в попап корзине перетирается 0 Quote Link to comment Share on other sites More sharing options...
AlexDW Posted July 19, 2022 at 05:07 AM Share Posted July 19, 2022 at 05:07 AM укажите в data data: 'product_id=7363&quantity=5', и проверьте если заработает - значит причина в формате передачи данных / их формировании если нет - в чем-то еще 0 Quote модули для удобной работы с Opencart Link to comment Share on other sites More sharing options...
deadiwe Posted July 19, 2022 at 07:13 AM Author Share Posted July 19, 2022 at 07:13 AM 2 часа назад, AlexDW сказал: укажите в data data: 'product_id=7363&quantity=5', и проверьте если заработает - значит причина в формате передачи данных / их формировании если нет - в чем-то еще Что вам нужно чтобы вы решили эту задачку? и сколько это будет стоить? 0 Quote Link to comment Share on other sites More sharing options...
AlexDW Posted July 19, 2022 at 12:24 PM Share Posted July 19, 2022 at 12:24 PM 5 часов назад, deadiwe сказал: Что вам нужно чтобы вы решили эту задачку? и сколько это будет стоить? - миллион вертолетов и доллар! (с) а серьезно - к сожалению не работаю на заказ да и затык навскидку именно в части выше если все же хотите кого-то нанять - поищите исполнителя в разделе платных услуг 0 Quote модули для удобной работы с Opencart Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.