deadiwe Опубликовано 18.07.2022 в 10:04 Поделиться Опубликовано 18.07.2022 в 10:04 {% 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexDW Опубликовано 18.07.2022 в 15:02 Поделиться Опубликовано 18.07.2022 в 15:02 дык, неудивительно сравните добавление в родном 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 Цитата модули для удобной работы с Opencart Ссылка на комментарий Поделиться на другие сайты Поделиться
deadiwe Опубликовано 19.07.2022 в 02:48 Автор Поделиться Опубликовано 19.07.2022 в 02:48 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
deadiwe Опубликовано 19.07.2022 в 03:11 Автор Поделиться Опубликовано 19.07.2022 в 03:11 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexDW Опубликовано 19.07.2022 в 05:07 Поделиться Опубликовано 19.07.2022 в 05:07 укажите в data data: 'product_id=7363&quantity=5', и проверьте если заработает - значит причина в формате передачи данных / их формировании если нет - в чем-то еще 0 Цитата модули для удобной работы с Opencart Ссылка на комментарий Поделиться на другие сайты Поделиться
deadiwe Опубликовано 19.07.2022 в 07:13 Автор Поделиться Опубликовано 19.07.2022 в 07:13 2 часа назад, AlexDW сказал: укажите в data data: 'product_id=7363&quantity=5', и проверьте если заработает - значит причина в формате передачи данных / их формировании если нет - в чем-то еще Что вам нужно чтобы вы решили эту задачку? и сколько это будет стоить? 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexDW Опубликовано 19.07.2022 в 12:24 Поделиться Опубликовано 19.07.2022 в 12:24 5 часов назад, deadiwe сказал: Что вам нужно чтобы вы решили эту задачку? и сколько это будет стоить? - миллион вертолетов и доллар! (с) а серьезно - к сожалению не работаю на заказ да и затык навскидку именно в части выше если все же хотите кого-то нанять - поищите исполнителя в разделе платных услуг 0 Цитата модули для удобной работы с Opencart Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.