Регистрация пользователя при оформлении заказа в UMI.CMS

Накидал тут небольшой метод для автоматической регистрации пользователей при совершении заказа. Так как umi позволяет совершать оформление заказа без регистрации, то предусмотрим небольшое расширение функционала.

Для этого мы подвяжемся к событию order-status-changed

Создадим обработчик событий onAutoRegisterUser

Для начала нам понадобится определить, что это первоначальный статус «Ожидает проверки»

Скорее всего, 99 будет и у вас, но на всякий случай проверьте, это справочник «Статус заказа» и элемент «Ожидает проверки». Так с большей вероятностью можно сказать, что это новый заказ.

Далее нам надо понять что это «Гость»

337 это Id пользователя «Гость», у меня пока на проектах совпадает, но вы удостоверьтесь, что у вас так же это число 337.

Ну а дальше из ключевых моментов:

  • Проверим, существует ли юзер с таким же email и если да, то я привязываю заказ к уже существующему клиенту:

  • Для генерации пароля нам понадобится вспомогающий метод

 

Ну и полный листинг макроса для регистрации пользователя выглядит так:

 

Нам же остается добавить только права в файл permissions.custom.php и наслаждаться результатом 🙂

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *