Счетчик количества товаров

Тема в разделе "Общие вопросы", создана пользователем Kylun-Serg, 7 фев 2023.

  1. Kylun-Serg

    Kylun-Serg Новичок

    Сообщения:
    6
    Симпатии:
    0
    Добрый день. OcStore 3. Хочу сделать возможность добавление/уменьшение количества товаров после добавления в корзину. Магазин делаю в большей мере для себя для знакомства с OpenCart да и вообще с программированием) Умею верстать, знаю основы js, php. Поэтому в большей мере хочу сделать все сам, без готовых модулей, там где это будет оправдано.

    В шапке есть корзина, после покупки товара, открывается корзина с возможностью изменить количество единиц.

    Код счетчика:

    cart.twig
    <div class="product-card-modal__counter counter" data-counter>
    <button class="counter__control" data-action="minus">
    <svg class="counter__icon">
    <use xlink:href="catalog/view/theme/pinkashop/assets/img/icons/icons.svg#minus"></use>
    </svg>
    </button>
    <div class="counter__input">
    <input type="text" name="quantity" value="{{ product.quantity }}" data-input-quantity class="counter__input__quantity" placeholder="{{ product.quantity }}">
    </div>
    <button class="counter__control" data-action="plus">
    <svg class="counter__icon">
    <use xlink:href="catalog/view/theme/pinkashop/assets/img/icons/icons.svg#plus"></use>
    </svg>
    </button>
    </div>


    common.js
    $(document).on('click', '[data-counter] [data-action]', function (e) {
    const btn = $(this);
    const input = btn.closest('[data-counter]').find('input');
    const minValue = 1;

    if (btn.attr('data-action') == 'plus') {
    input.val(parseInt(input.val()) + 1);
    } else if (btn.attr('data-action') == 'minus') {
    if (parseInt(input.val()) > minValue) {
    input.val(parseInt(input.val()) - 1);
    } else {
    return null;
    }
    }
    });



    Подскажите как передать количество дальше в общую корзину? Как сохранить изменённое количество после обновления страницы?

    Скачивал модули, которые делают похожие вещи, но там 20-40 строк кода, но как они передают данные дальше не могу понять.
     
  2. Ravilr

    Ravilr Специалист

    Сообщения:
    3.884
    Симпатии:
    1.065
    Не совсем понятно, где счетчик применяете. И что вообще за счетчик :) Вы про +- для кол-ва товара? Это счетчик?
     
  3. Kylun-Serg

    Kylun-Serg Новичок

    Сообщения:
    6
    Симпатии:
    0
    да)
     
  4. Ravilr

    Ravilr Специалист

    Сообщения:
    3.884
    Симпатии:
    1.065
    Тогда нет проблем. Значение в поле поменялось, нажали купить и отправилось значение.
    Главное чтобы менялось именно в поле для ввода кол-ва, а не на отдельном поле. Если отдельное, то нужно править скрипт, чтобы он получал кол-во из данного поля.