OpenCart — как передать цены с карточки товара при добавлении в корзину?

Всем привет!

Пожалуйста, помогите в следующей проблеме.

Задача состоит в том, чтобы на карточке товара вывести несколько вариантов цены в зависимости от количества штук товара в заказе. Было выведено несколько опций количество с разным количеством. С помощью Jquery в зависимости от опции меняется цена на карточке товара.

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

Начал копаться в коде, выяснилось что элемент "button-cart" вызывает функцию add() в checkout/cart.php, но где перехватить значение цены в данном конкретном заказе я не понял.

Пожалуйста, подскажите, в каком направлении копать.

Спасибо.
  • Вопрос задан
  • 6726 просмотров
Решения вопроса 1
arutyunov
@arutyunov
Mooza.ru — Делаем сайты
checkout/cart.php - это контроллер, который принимает входные данные из формы. Далее, идет запрос в библиотеку library/cart.php, оттуда уже информация пишется в сессию.

Соответственно, если у вас несколько цен, которые зависят от количества товара, то вам надо либо в базе хранить все цены, либо иметь алгоритм, который позволит определить цену, в зависимости от конкретного количества товара (1 товар - 100% цены, более 5 товаров - 90% цены и т.д.). В таком случае достаточно получать количество товара на клиенте и на сервере и через выработанный алгоритм определять цену (вычисляем нужную цену от 100% цены, которая указана в админке).

Соответственно, количество товара в виде переменной $quantity передается в контроллер, а цена товара (или несколько) - тянутся из базы через модель товара, которая подгружается в контроллере.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы