Rinat_Haisman
@Rinat_Haisman
SEO-специалист, телеграм-канал @seospecialist

OpenCart: как увеличивать количество товара кратно минимальному в карточке товара?

Собственно, сабж. Магазин оптовых товаров, продается только коробами, с четким кол-вом элементов в каждом коробе.
Для OpenCart есть модуль Simple, которые отлично справляется с задачей, но только при чек-ауте (подтверждение покупки: на этой странице тоже можно +/- кол-во товаров).
  • Вопрос задан
  • 709 просмотров
Решения вопроса 1
Rinat_Haisman
@Rinat_Haisman Автор вопроса
SEO-специалист, телеграм-канал @seospecialist
Вопрос решился кодом:

HTML:
<button class="counter counter-minus material-design-horizontal39" href='#'></button>
<input type="text" data-minimum="<?php echo $minimum; ?>" name="quantity" size="3" value="<?php echo $minimum; ?>" />
<input type="hidden" name="product_id" value="<?php echo $product_id; ?>"/>
<button class="counter counter-plus material-design-add186" href='#'></button>


jQuery:
;(function ($) {
    $(document).on('click', '.counter-minus, .counter-plus', function(e) {
        e.preventDefault();
		
        var input = $(this).parent().find('input[name*="quantity"]'),
        value = 1;
		
        var minimum = $(input).data('minimum');
		
        if ($(this).hasClass('counter-minus') && input.val() > minimum) {
            value = parseInt(input.val()) - minimum;
        } else if ($(this).hasClass('counter-plus')) {
            value = parseInt(input.val()) + minimum;
        }
        input.val(value);
    });
})(jQuery);


(При копировании будьте внимательны, чтобы не захватить лишние символы BOM)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
zoozag
@zoozag
Opencart
В simplecheckout.js смотрите функции increaseProductQuantity и decreaseProductQuantity.
Насколько я вижу, он прибавляет/убавляет кратно минимальному количеству.
Ответ написан
@Alexmaax
Измените в коде
input type="text"
на
input type="number"
и допишите параметр
min="<?php echo $minimum; ?>" step="<?php echo $minimum; ?>"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы