Разработка на 1С-Битрикс Михаил Базаров

E-mail вместо логина при регистрации и оформлении заказа в 1C-Битрикс

Вопросы и ответы по 1С-Битрикс, разборы реальных задач и обсуждение заметок блога. Задайте вопрос или помогите другим — все сообщения проходят модерацию.

E-mail вместо логина при регистрации и оформлении заказа в 1C-Битрикс

Задача: при регистрации и оформлении заказа нового пользователя нужно убрать поле Логин и использовать электронную почту вместо него. При этом без захломления init.php и без создания собсвенных компонентов.
На D7, обновление логина на email в confirm.php
Код
use Bitrix\Main\UserTable;

if (!empty($arResult["ORDER"])) {
    $userId = $arResult["ORDER"]['USER_ID'];
    $userFields = UserTable::getList([
        'filter' => ['ID' => $userId],
        'select' => ['EMAIL']
    ])->fetch();

    $user = new \CUser;
    $user->Update($userId, [
        'EMAIL' => $userFields['EMAIL'],
        'LOGIN' => $userFields['EMAIL']
    ]);
}
Не хочу показаться занудой, но слово ЗАХЛАМЛЕНИЕ пишется через а.
Спасибо! Поправлено
Точно знаю что в коробе Б24+интернет магазин достачно просто отметить галкой регистрацию по email, сделать её обязательной и проводить проверку на уникальность и email будет автоматически подставляться вместо логина, даже если вы ввели логин не похожий на почту.
Возможно, подобная ситуация и в БУСе последних версий
Да, в Б-24 так оно и работает. В БУС, пока, все по старому.
Плюс, если хочется что бы пользователи могли оформлять заказ без предварительной регистрации, этот способ не подойдет.
Так как, если включено подтверждение почты, оформление заказа не откроется пока пользователь не зарегистрируется.
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Загрузить файлы
 
Реклама

Место для вашей рекламы

10 000 ₽ в месяц

Единый баннер, который показывается сквозным образом — сразу на всём форуме и во всех заметках блога. Одно размещение — вся аудитория.

Посмотреть, где будет выводиться: форум заметки блога

Блог-note

Заметки по 1С-Битрикс