Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как добавить бесплатный продукт в корзину


Recommended Posts

Задача - Нужно что бы при выдаче купона, можно было указать какой продукт будет даваться пользователю бесплатно. То есть я вам даю код купона - V2335 (к примеру), и когда вы его вбиваете, то вам в корзину добавляется продукт (выбранный в админке до этого), с 0 (нулевой) ценой (в подарок как бы).

 

Я сделал в админке что бы при создании купона можно было бы выбирать подарочные продукты. И тут у меня встала проблема, когда пользователь активирует купон, как мне добавить к нему в корзину продукт, при том что бы продукт был бесплатен, или если есть такой продукт уже в корзине, то что бы одна единица стала бесплатно ?

 

Не прошу писать код за меня, а просто рассказать, в какую сторону копать, как можно такое решить. Просто в opencart я новичек, и не знаю всех его нюансов.

Надіслати
Поділитися на інших сайтах


Привязать в админке: "код купона --- товар с "0" ценой", в самом же контроллере, где идёт добавление в корзину, найти условие:

if (isset($this->request->post['coupon'])) {
//и пишите функцию проверки по таблице привязки "код купона --- товар с "0" ценой

$this->load->model('checkout/coupon');

$bonus = $this->model_checkout_coupon->getCouponToProduct($this->request->post['coupon']);

//Потом просто добавляете в корзину
if ($bonus) {
$this->cart->add($bonus, 1);
}
}
Надіслати
Поділитися на інших сайтах

Если просто добавлять в корзину товар, то он будет добавляться с ценой из магазина.

 

Сделал так что:

   1) при добавлении купона, я добавляю товар в корзину, но в отдельный массив в сессию $this->session->data['free_products'] = array();  добавляю ID продукта, что бы знать что именно он бесплатный.

   2) У класса карт в методе getProducts сделал проверку что если ID продукта присутствует в массиве free_products, то меняю у переменных $price, $option_price и $original_price значение на 0 (ноль)

 

Осталась еще проблема что если подарок уже был в корзине (то есть продукт с таким ID), то сбрасывается цена на 0 независимо от кол-во продуктов, но это уже попровимо)))

 

Пол задачи уже получилось решить)))

Надіслати
Поділитися на інших сайтах


Так а почему б товары с "0" ценой не сделать 0 по цене в админке, как отдельный товар и не привязывать в категориях (что бы по сайту не фигурировал) в корзине же при проверке массива free_products сделать неактивным href на эти товары.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.