Автор Тема: Купоны и промокоды  (Прочитано 3209 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Oleg V

  • Местный лис
  • ***
  • Сообщений: 141
  • Авторитет: 7
  • Пол: Мужской
  • Пишите в аську
    • Просмотр профиля
Купоны и промокоды
« : 27 сентября 2019, 11:07:07 »
Привет!

Кто пользовался этим функционалом?

Добавил на страницу корзины форму.. вводишь промокод - все считает и показывает новую цену..

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

Если в первом варианте можно сделать что то через js, то со вторым не знаю как поправить.

Оффлайн Nikodim

  • Опытный лис
  • ****
  • Сообщений: 310
  • Авторитет: 35
  • Пол: Мужской
    • Просмотр профиля
Re: Купоны и промокоды
« Ответ #1 : 27 сентября 2019, 17:04:52 »
Можно сделать метки для шаблона типа:
Ваш купон %promo_code_textcode% на сумму/процент %promo_code_value% применен ...
Например, добавить после строчки $content = str_replace("%promo_code%", $promo_block, $content);
$content = str_replace("%promo_code_value%", $promo_value, $content);
$content = str_replace("%promo_code_textcode%", $promo_textcode, $content);

А вот с отправкой на почту сложности, как мне думается, перезаписать totalprice с учетом купона...

В общем, допил модуля каталога надо делать, без инъекции не обойтись ))

Оффлайн mikola_design

  • Новичок
  • *
  • Сообщений: 42
  • Авторитет: 5
  • Пол: Мужской
    • Просмотр профиля
Re: Купоны и промокоды
« Ответ #2 : 27 сентября 2019, 17:40:45 »
в корзине сделай:
%promo_code%

<!-- @promo_code_form -->
<input type="text" name="catalog_basket_promocode" value="" placeholder="Промо-код">
<input type="submit" name="catalog_basket_upd_qty" value="АКТИВИРОВАТЬ">
<!-- @promo_code_dropprice -->
Вы активировали:<br>
Промо-код: %promo_code_textcode%<br>
Скидка: %promo_code_value% %<br>
<a href="%promo_code_remove_link%">Удалить промокод</a>
<!-- @promo_code_lowprice -->
Вы активировали:<br>
Промо-код: %promo_code_textcode%<br>
Скидка: %promo_code_value% руб.<br>
<a href="%promo_code_remove_link%">Удалить промокод</a>

В заказе вроде тоже самое.

Оффлайн Nikodim

  • Опытный лис
  • ****
  • Сообщений: 310
  • Авторитет: 35
  • Пол: Мужской
    • Просмотр профиля
Re: Купоны и промокоды
« Ответ #3 : 27 сентября 2019, 18:37:14 »
mikola_design, ну да, посмотрел код повнимательней, оно уже есть там, вроде должно работать )

Эх, жаль разработчиков больше нет, все под себя допиливают что надо, а в народ не выходит ... лень документацию/описание/примеры делать (

Оффлайн mikola_design

  • Новичок
  • *
  • Сообщений: 42
  • Авторитет: 5
  • Пол: Мужской
    • Просмотр профиля
Re: Купоны и промокоды
« Ответ #4 : 27 сентября 2019, 19:04:26 »
Эх, жаль разработчиков больше нет, все под себя допиливают что надо, а в народ не выходит ... лень документацию/описание/примеры делать (

Ага... печально это все, надо собрать конфу хоть где то в whatsapp или еще где чтобы хоть кто остался у нас живых) а то у тебя я там понял тоже есть хорошие работы по синхронизации с 1С и онлайн оплатой, а так то и спросить не у кого... печаль беда. C купонами сам пытался разобраться, но понял что нихера не понятно, пришлось писать разработчику W.D.M.Group он скинул пример шаблона)))
« Последнее редактирование: 27 сентября 2019, 19:07:40 от mikola_design »

Оффлайн Oleg V

  • Местный лис
  • ***
  • Сообщений: 141
  • Авторитет: 7
  • Пол: Мужской
  • Пишите в аську
    • Просмотр профиля
Re: Купоны и промокоды
« Ответ #5 : 30 сентября 2019, 10:55:01 »
Спасибо!

В корзину вывел.. все норм.. а в письме этот код не работает и приходит полная цена без пометок о купоне.

Если еще какие то варианты?
Или просто записать цену со скидкой в куки и передать через форму в письмо?

Оффлайн digi

  • Разработчики
  • Опытный лис
  • *****
  • Сообщений: 264
  • Авторитет: 22
  • Пол: Мужской
    • Просмотр профиля
Re: Купоны и промокоды
« Ответ #6 : 09 ноября 2019, 18:51:59 »
в catalog.class.php нужно перенести кусок кода ниже чуть

//удаляем промо-код из сессии, если был
$kernel->pub_session_unset('promo_code');

и это нужно перенести чуток ниже после

//письмо менеджеру
$msg_body = $this->process_basket_items_tpl($manager_mail_tpl, $bitems, $fvalues_orig);
$msg_body = str_replace("%orderid%", $currOrder['id'], $msg_body);
$kernel->pub_mail(array($manager_email), array($manager_email), $from_email, $from_name, $manager_mail_subj, $msg_body, false, "", "", $user_email);

 //письмо юзеру
if ($user_email)
{
$msg_body = $this->process_basket_items_tpl($user_mail_tpl, $bitems, $fvalues_orig);
$msg_body = str_replace("%orderid%", $currOrder['id'], $msg_body);
$kernel->pub_mail(array($user_email), array($user_email), $from_email, $from_name, $user_mail_subj, $msg_body, false, "", "", $manager_email);
}

тогда и будет всё работать