Как отправить письмо менеджеру про созданный заказ, а так же при создание заказа неавторизованому пользователю отправить данные о созданном акаунте?

Всем привет, я люблю безумкина, он великий, но за его доки руки нужно того, везде пишется что есть, что можно, но как это сделать хрен пойми, помогите пожалуйста)
Как отправить письмо менеджеру про созданный заказ, а так же при создание заказа неавторизованому пользователю отправить данные о созданном акаунте?
Vladimir
12 ноября 2019, 06:06
modx.pro
1
106
0

Комментарии: 6

Vladimir
12 ноября 2019, 06:11
0
Можно по подробней как это сделать? можно ссылку?
    Антон Тарасов
    12 ноября 2019, 09:29
    +1
    1. Письмо менеджеру вшито в настройки минишопа, для каждого статуса заказа можно указать, слать ли письмо менеджеру или нет. Ищите в пакетах «Минишоп» — «Настройки» — «Статусы заказа» См. картинку

    2.Для отправки письма можно создать плагин на событие msOnChangeOrderStatus со следующим содержимым:

    <?php
    switch ($modx->event->name){
    case 'msOnChangeOrderStatus':
            if ($status == 1) {
                $userId = $order->user_id;
                $user = $modx->getObject('modUser', $userId);
                $time = time();
                $newUser = 10; // Сколько секунд пользователь считается новым, было 10000000000
                if ($user) {
                    $username = $user->get('username');
                    $profile = $user->getOne('Profile');
                    $fullname = $profile->get('fullname');
                    $createdon = strtotime($user->get('createdon')) + $newUser;
                    if ($createdon > $time) {
                        //Генератор пароля. Взят из исходников MODX
                        //Длина пароля
                        $length = 8;
                        $pass = $modx->user->generatePassword($length);
                        //Сохраняем новый пароль
                        $user->set('password', $pass);
                        $user->save();
                        //Шлем письмо
                        $pdo = $modx->getService('pdoFetch');
                        $message = $pdo->getChunk('@FILE chunks/email/user.register.tpl', array('username' => $username,'fullname' => $fullname, 'password' => $pass));
                        $sent = $user->sendEmail($message, array('subject' => 'Регистрация на сайте XXX'));
                   }
                    $user->addSessionContext('web');
                }
            }
            break;
    }
      Vladimir
      12 ноября 2019, 13:17
      0
      получается менеджеру который сейчас за логинен? или же можно указать почту через запятую, без создания плагина?
        Vladimir
        12 ноября 2019, 13:46
        0
        .
        Андрей
        12 ноября 2019, 13:57
        +1
        Системная настройка — ms2_email_manager, там указывается адрес менеджера. Для второй задачи есть — msCustomerAutoReg.
          Vladimir
          12 ноября 2019, 14:00
          0
          спасибо за письмо менеджера, вторая задача есть, но она платная, выше вариант нормальный!
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          6