Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

Добрый день!
Пытаюсь сделать ограничение для скидки, т.к. она может суммироваться исходя из разных аспектов (скидка пользователя, скидка от суммы, скидка по купону и тд), может выходить так, что скидка на заказ будет больше допустимой (цена с учетом скидки будет ниже чем себестоимость товара).
Добавил  к товарам в БД и в симплу поле с себестоимостью товара. Хотелось бы при работе с корзиной\заказом, суммировать стоимость и себестоимость товаров, и исходя из этих значений просчитывать максимальную скидку, которая может быть.

Например, есть товар с себестоимостью 600р, и розницей 1000р и клиент со скидкой 20%. Соответственно скидка максимальная может быть лишь 40%.
Клиент добавил его в корзину, перешёл на страницу оформления заказа, видит - заказ на 1000р, со скидкой 200р, итоговая цена 800р. 20%
Клиент выставил количество в 20 штук, ему добавилась скидка от суммы, 10% - заказ на 1000р, со скидкой 300р, итоговая цена 700р. 30%
Ввел купон на скидку в 15%, ему выставилась еще скидка 10% - заказ на 1000р, со скидкой 400р, итоговая цена 600р. 40% (5% получается просто не учитываются)
Клиент добавил низкомаржинальный товар, потолок скидки еще упал, например, до 35%, или наоборот, вырос до 45% и тд

Подскажите, в сторону каких файлов копать?
View вроде отвечает только за сохранение этого всего и внесения в базу. Можно и на этом уровне, конечно, понижать скидку, но это некрасиво - клиент оформляет заказ, там скидка 50%, нажимает Оформить - открывается оформленный заказ а в нем уже скидка 30%. 

Ссылка на сообщение
Поделиться на другие сайты

Довольно сложный функционал. И Simpla стандартно для такого плохо приспособлена. Начать с того, что расчет заказа проводится ОТДЕЛЬНО для корзины и для заказа. А есть еще и третий расчет - в админке при изменении состава заказа.

Копать, в частности,  в api/Cart.php. Еще в api/Orders.php - там есть функция расчета окончательной суммы.

 

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...