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

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

Внимание! Все сообщения на форуме проходят модерацию. Ваше сообщение появится после проверки.
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 так оно и работает. В БУС, пока, все по старому.
Плюс, если хочется что бы пользователи могли оформлять заказ без предварительной регистрации, этот способ не подойдет.
Так как, если включено подтверждение почты, оформление заказа не откроется пока пользователь не зарегистрируется.
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Загрузить файлы
 

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