Было решено написать плагин, который через процессор MODX будет изменять пароль новому клиенту и отправлять его на указанную им почту. Пароль должен генерировать сам MODX.
Плагин сработает при условиях:
— Заказ имеет статус 1 (Новый)
— С момента регистрации пользователя прошло не более 10 секунд
Сам плагин:
if ($modx->event->name == 'msOnChangeOrderStatus') { // Если статус заказа << Новый >> if ($status == 1) { $userId = $order->user_id; $objUser = $modx->getObject('modUser', $userId); $objProfile = $modx->getObject('modUserProfile', $userId); $time = time(); $newUser = 10; // Сколько секунд пользователь считается новым if ($objUser && $objProfile) { $username = $objUser->get('username'); $email = $objProfile->get('email'); $createdon = strtotime($objUser->get('createdon')) + $newUser; $modx = new modX(); $modx->initialize('mgr'); $modx->getService('error','error.modError'); if ($createdon > $time) { $data = array( 'id' => $userId, 'username' => $username, 'email' => $email, 'newpassword' => 'passwordgenmethod', // любой набор символов 'passwordgenmethod' => 'g', // отдаём генерацию пароля MODX 'passwordnotifymethod' => 'e', // письмо пользователю ); $response = $modx->runProcessor('/security/user/update', $data); if ($response->isError()) { $modx->log(modX::LOG_LEVEL_ERROR, 'Update error. Username: '.$username.', Message: '.$response->getMessage()); } } } } }
Теперь идём в системную настройку signupemail_message и изменяем тело письма на примерно следующее:
<p>Здравствуйте [[+ufn]],</p> <p>Ваши регистрационные данные для входа на сайт [[+sname]]:</p> <p> <strong>Логин:</strong> [[+uid]]<br /> <strong>Пароль:</strong> [[+pwd]]<br /> </p> <p>После входа на сайт http://my-site.ru/, Вы сможете сменить пароль.</p> <p>С уважением,<br />Администратор сайта</p>
Можно ещё и тему письма изменить в системной настройке emailsubject.
Ну и всё. Теперь ваши клиенты будут знать, что их зарегистрировали на сайте при оформлении заказа.
Источник: marabar.ru/blogs/turnkey-solutions/136-registration-data-to-the-mail-client-minishop2/
— отправлять сообщение о регистрации при оформлении заказа или не отправлять.
Или менять группу при выборе клиентом Оптовый покупатель или разово зашел купить и в зависимости от чекбокса назначить группу.
Вопрос: Как в minishop2 настроить что бы заказы из разных категорий падали на разные почты.
Например: из категории смартфоны на 1@mail.ru, а из категории телевизоры на 2@mail.ru