Добавить количество в категории opencart
Создание, разработка, изготовление сайтов | WEB-STYDIA.COM

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

Интернет магазины есть разные, и не всегда обязательно клиенту нужно заходить в саму карточку, по этому количество в категории opencart является очень удобным для покупателя и он сразу же может купить сразу несколько товаров из категории с нужным ему количеством.

Конечно это будет актуальным при условии что у товара нет опций которые нужно выбирать. Если в товаре есть опции то клиент в любом случае будет вынужден зайти в карточку товара и уже оттуда делать покупку, ну или же вы можете вывести опции в категорию тоже.

Общим сегодня я хочу сделать заметку не о опциях а именно о возможности добавлять нужное количество в корзину сразу же из категории. Сложного здесь ничего нет, все что нужно сделать так это внести небольшие изменения в контролер категории opencart а так же в сам шаблон ну и конечно же приукрасить все это дело стилями.

И так наша задача состоит в том чтобы перед кнопкой купить в категории opencart добавить поле ввода количества товара, ну и еще мы сделаем кнопки плюс минус для этого поля, чтобы клиенту было удобнее. Как все это будет выглядеть можете глянуть на картинке ниже:

Данный метод будет работать на любой версии opencart за исключением каких то моментов. И так, приступим к выполнению самой задачи и редактируем в первую очередь файл контроллера категории catalog/controller/product/category.php

Находим в нем:

Ниже под данной строкой нам нужно добавить:

Это все, файл контроллера можно закрывать, и переходить непосредственно к файлу шаблона активной темы catalog/view/theme/default/template/product/category.tpl


Нам нужно изменить саму кнопку покупки и добавить перед ней форму количества, находим код вывода самой кнопки:

И изменяем ее на:

После перед вышеизмененной строкой кнопки, нам нужно добавить поле ввода количества с кнопками плюс и минус, то есть добавляем:

Вот собственно и все, теперь в категории товара будет возможность выбора количества товара. Теперь вы можете ее приукрасить немного стилями к примеру добавив в файл стилей своего шаблона такой стиль:

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

Общим пробуйте, если что не получается или у вас есть лучшее решение комментируйте.

Вас также может заинтересовать

8 комментариев

  •   01.08.2018 в 05:10

    Спасибо! удалось запустить данный вариант, единственный момент, при многократном нажатии клавиши минус (-) значение уходит в негативное, -2 -3 итд, можно ли как то ограничить кнопку минус (-) чтобы при ее нажатии минимальное значение кол-ва товара было равно 1?

    Ответить
    • Василий
        04.08.2018 в 19:36

      Оно и вправду Вам мешает? Я как то и не думал про это никогда, адекватный пользователь все равно укажет сколько ему нужно, это разве что кому то побаловаться захочется :)
      Ну а вообще появится свободная минутка постараюсь написать немного с поправками JS с учетом вашего замечания.

      Ответить
  •   01.08.2018 в 11:04

    Приветствую! А для версии 3.0.2 можете код показать? Спасибо!

    Ответить
    • Василий
        04.08.2018 в 19:33

      Для данной версии к сожалению а может к счастью.. еще не делал, по этому ответить пока ничего не могу. Но по сути сложного там ничего не должно быть, просто нужно сравнивать код и добавлять его в зависимости от ветки opencart.

      Ответить
  •   13.09.2018 в 20:57

    Очень нужен для версии 3.0.2
    Весь рунет уже перерыл. Информации нигде нет. Сделайте пожалуйста отдельную статью.
    Думаю благодарных будет очень много. Спасибо :oops:

    Ответить
      •   18.09.2018 в 15:53

        Добрый день. А на 2.3.0.2 после добавления в контроллер переменной — сайт, увы, падает(. Вы тестили на ней?

        Ответить

Оставить комментарий

Пожалуйста, введите Ваше имя. Пожалуйста, введите действительный адрес электронной почты. Пожалуйста, введите сообщение.