Делаю аддон, где в чекауте в последнем шаге добавляется поле "Промокод" с неким процентом скидки на всю корзину.
И оно при ходит в $_REQUEST['promocode'] на сервер.
Как и в каком месте сделать пересчет всей корзины на шаге place_order?
Делаю аддон, где в чекауте в последнем шаге добавляется поле "Промокод" с неким процентом скидки на всю корзину.
И оно при ходит в $_REQUEST['promocode'] на сервер.
Как и в каком месте сделать пересчет всей корзины на шаге place_order?
Дефолтную функциональность промо акций используете? Или все полностью самописное?
Дефолтную функциональность промо акций используете? Или все полностью самописное?
Пишу сам, делаю по простому
- в админке список (добавить/изменить/удалить) промокодов (id, code, discount %, active)
- добавил хук на checkout.cart с вводом промокода и экшном "применить"/"удалить"
- checkout.post.php - добавил сохранение/удаления промокода в/из сессии
- теперь, как я понял, когда происходит повторный fn_dispatch() по отработке redirect_url=checkout.cart - в функции fn_calculate_cart_content() надо где то вставить хук. чтобы пересчитать subtotal_discount - и он автоматом учтется при подсчетет тотала.
Вот какой хук для этого заюзать, чтобы в последовательность действий вклиниться правильно?
Юзайте calculate_cart_items. Он как раз перед применением дефолтных промо акций стоит.
подскажите, пожалуйста, как сделать что бы бонусы от купонов ( акция для корзины) не распространялись на товары со скидкой по акциям для каталога? использую стандартный функционал промо кодов