Вход • Регистрация

Код купона на скидку: уведомление по почту "Новый заказ"

  • 15 августа 2017 г.
  • Всем привет!
    Как вывести "код купона" в оповещении о новом заказе по почте?
    Сейчас на почту приходит:

    1. таблица товаров
    2. Способ оплаты
    3. ФИО или название компании
    4. E-mail

    Нужно туда-же добавить "Купон:" (при его активации клиентом)
    Спасибо!
    • 15 августа 2017 г.
    • Магазин -> Настройки модуля -> Сообения и оповещения - Поле: Сообщить пользователю о новом заказе

      Текстом, ручками
      • 16 августа 2017 г.
      • Сейчас так:
        Здравствуйте, администратор сайта %title (%url)!<br>На сайте появился новый заказ номер %id: %order<br>Способ оплаты: %payment<br><br>%message

        Теперь добавить бы туда что-то вроде <br>Промокод: %promocode(не знаю какая команда тут должна быть прописана)

        Спасибо.
        • 16 августа 2017 г.
        • В мануале стандартного тега вывода информации о введенном купоне я не вижу.
          Тут два варианта: либо его не существует, либо не успели внести в мануал.
          Попробуйте у ТП уточнить.
          • 16 августа 2017 г.
          • Здравствуйте, Александра!
            Так и сделаю.
            • 18 августа 2017 г.
            • Да просто руками вбейте - промокод на скидку 46Fghjj и все
              • 18 августа 2017 г.
              • Тут есть нюанс! Если скидка должна быть по персональному промо-коду, то не пойдёт так. Нужно его сначала внести в скидки, ограничить "Сколько раз можно использовать купон", например - 1 раз, и только потом - в ручную внести в письмо.
                Целое дело!
                Тут надо модернизировать саму логику генерирования промо-кода. По сути, писать в пожелания заявку, и ждать, ждать, делать регулярно "АП-ы" и т. д.
  • 17 августа 2017 г.
  • Ответ ТП:
    Настройки модуля "Магазин" описаны в документации (подраздел "Сообщения и уведомления"). Добавление маски (ключевого слова, используемого для автоматической подстановки значений)
    Цитата

    %promocode

    не предусмотрено. Вы можете самостоятельно модернизировать код cms под свои нужды. Либо вручную создать код Купона и вставить данное значение в тело письма (уведомления) в виде обычного текста.

    Что это значит....?
    • 17 августа 2017 г.
    • Значит, что легким движением руки вставить промокод в сообщение вы не сможете.

      Нужно искать, где формируются используемые теги и туда дописывать свой. И только потом вставлять его в письмо.

      П.С. Если кто-то из местных гуру подскажут, куда копать. Мне тоже интересно.
      • 17 августа 2017 г. , редакция: 17 августа 2017 г.
      • Думаю надо шаманить в функции send_mails() файла cart.action.php в районе 610 строки
        Код

        $message = str_replace(
        array('%title', '%url', '%id', '%message', '%order', '%payment', '%fio'), ...
        • 25 августа 2017 г.
        • Ясделяль для рассылки свежим юзерам в registration.action.php
          Код
          Custom::inc('includes/mail.php');

          //генерим купон перед отправкой письма
          Custom::inc('custom/my/modules/registration/registration.newcoupon.php');
          $coupon = newcoupon(1);

          if ($this->diafan->configmodules("sendmailadmin", "users"))
          {
          $subject = str_replace(
          array('%title', '%url'), array(TITLE, BASE_URL), $this->diafan->configmodules('subject_admin', "users")
          );
          $message = str_replace(
          array('%login', '%title', '%url', '%fio', '%email', '%params'), array(
          $login,
          TITLE,
          BASE_URL,
          $this->diafan->filter($_POST, "string", "fio"),
          $this->diafan->filter($_POST, "string", "mail"),
          $this->message_admin_param,
          ), $this->diafan->configmodules('message_admin', "users")
          );

          if ($message && $subject)
          {
          send_mail(
          $this->diafan->configmodules("emailconfadmin", "users") ? $this->diafan->configmodules("email_admin", "users") : EMAIL_CONFIG, $subject, $message, $this->diafan->configmodules("emailconf", "users") ? $this->diafan->configmodules("email", "users") : ''
          );
          }
          }

          //send mail user
          $subject = str_replace(
          array('%title', '%url'),
          array(TITLE, BASE_URL),
          $this->diafan->configmodules('subject', "users")
          );

          $actlink = '';
          if ($this->diafan->configmodules("act", "users") == 1)
          {
          $actcode = md5(rand(111, 99999));
          DB::query("INSERT INTO {users_actlink} (link, user_id, created) VALUES ('%s', %d, %d)", $actcode, $save, time() + 86400);
          $actlink = BASE_PATH_HREF.$this->diafan->_route->link($this->diafan->_site->id).'?action=act&user_id='.$save.'&code='.$actcode;
          }

          $message = str_replace(
          array('%login', '%title', '%url', '%fio', '%email', '%password', '%params', '%actlink', '%coupon'), array(
          $login,
          TITLE,
          BASE_URL,
          $this->diafan->filter($_POST, "string", "fio"),
          $this->diafan->filter($_POST, "string", "mail"),
          $this->diafan->filter($_POST, "string", "password"),
          $this->message_param,
          $actlink,
          'Купон '.$coupon["Coupon_code"].' сроком действия 2 месяца'//добавлено для рассылки купонов
          ), $this->diafan->configmodules('message', "users")

          Функция для генерирования купона в приложении
          • 18 сентября 2017 г. , редакция: 18 сентября 2017 г.
          • Как водится, не без косяков. При коррекции цены товара в большую сторону, по крайней мере, на значение скидки (например, раньше позиция была 1000, стала 1200 при скидке по генерируемому купону 200) всплыло следующее:
            1. Товар висит в каталоге со скидкой вне зависимости от наличия вбитого в клиентской части купона
            2. После отключения-включения сгенерированных купонов такая же хурма происходит во всем каталоге.

            После замены в 17 строке функции newcoupon

            Код
            $discount_id = DB::query("INSERT INTO {shop_discount} (date_start, date_finish, discount, amount, deduction, threshold, threshold_cumulative, role_id, act, person, text, trash)"
            . " VALUES ('%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%h', '%d')",
            time(), (time()+5259486), $rows_discount["discount"], $rows_discount["amount"], $rows_discount["deduction"], $rows_discount["threshold"], $rows_discount["threshold_cumulative"], 0, 1, 0, 'Персональный купон для нового клиента', 0
            );


            на

            Код
            $discount_id = DB::query("INSERT INTO {shop_discount} (date_start, date_finish, discount, amount, deduction, threshold, threshold_cumulative, role_id, act, person, text, trash)"
            . " VALUES ('%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%h', '%d')",
            time(), (time()+5259486), $rows_discount["discount"], $rows_discount["amount"], $rows_discount["deduction"], $rows_discount["threshold"], $rows_discount["threshold_cumulative"], 0, 1, 1, 'Персональный купон '.$Coupon_code.' для нового клиента', 0
            );


            Проблема перестала воспроизводиться.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум