Техподдержка сайтов
+7 (904) 589-06-04
+7 (904) 589-06-04
telegram @sng24
MAX
info@sng-it.ru
ПРОГРАММИСТ 1С-БИТРИКС
ПРОГРАММИСТ 1С-БИТРИКС
разработка · доработка · техподдержка
  • О себе
  • Услуги
    Обновление сайтов на 1С-БитриксPHP 8.2+, MySQL 8, ядро и модули›Поиск и удаление вирусовПроверка, очистка и защита сайта›Создание сайтовРазработка сайтов под задачи бизнеса›Интеграция сайта с 1СОбмен товарами, остатками и заказами›Композитный сайт›Внутренняя оптимизация сайтаТехническое SEO и оптимизация›Доработка сайтовНовые функции, интеграции, нестандартные решения›Импорт каталога из файла поставщикаИмпорт и обновление товарных данных›Перенос сайта на 1С БитриксМиграция сайта на 1С-Битрикс›Парсинг контентаСбор и импорт данных›Установка готового сайтаУстановка и настройка готового решения›Купить лицензию 1С Битрикс›Битрикс 24CRM и автоматизация бизнеса›Выгрузка товаров в Яндекс.Маркет›Настройка служб доставкиИнтеграция служб доставки›Интеграция с соцсетями›Заказ на Маркете›Перевод сайта на https›Сопровождение сайтов на 1С БитриксОбслуживание и развитие сайтов›Настройка платежных системПодключение и настройка оплаты›
    Все услуги →
  • Портфолио
  • Готовые сайты
    Недвижимость›Медицина›Ресторанный бизнес›Автомобили и автозапчасти›Бухгалтерские и юридические услуги›Государство›Детские товары›Красота и здоровье›Мебель, интерьер, декор›Образование›Одежда и обувь›Подарки и сувениры›Продукты питания›Спорт, туризм и отдых›Строительство, ремонт, инструменты›Товары для животных›ТСЖ, ЖСК›Украшения, аксессуары, подарки›Электроника и бытовая техника›Универсальные›
    Все готовые сайты →
  • 1С Битрикс
    Старт (7 100 ₽)›Стандарт (20 500 ₽)›Малый бизнес (47 000 ₽)›Бизнес (96 500 ₽)›Интернет-магазин + CRM (109 000 ₽)›Продление лицензии›Сравнить редакции›
  • CRM
  • Контакты
ПРОГРАММИСТ 1С-БИТРИКС
ПРОГРАММИСТ 1С-БИТРИКС
О себе
Услуги
Портфолио
Готовые сайты
1С Битрикс
CRM
Контакты
ПРОГРАММИСТ 1С-БИТРИКС
ПРОГРАММИСТ
1С-БИТРИКС
  • Главная
  • О себе
  • Услуги
    • Назад
    • Услуги
    • Обновление сайтов на 1С-Битрикс
    • Поиск и удаление вирусов
    • Создание сайтов
    • Интеграция сайта с 1С
    • Композитный сайт
    • Внутренняя оптимизация сайта
    • Доработка сайтов
    • Импорт каталога из файла поставщика
    • Перенос сайта на 1С Битрикс
    • Парсинг контента
    • Установка готового сайта
    • Купить лицензию 1С Битрикс
    • Битрикс 24
    • Выгрузка товаров в Яндекс.Маркет
    • Настройка служб доставки
    • Интеграция с соцсетями
    • Заказ на Маркете
    • Перевод сайта на https
    • Сопровождение сайтов на 1С Битрикс
    • Настройка платежных систем
  • Портфолио
  • Готовые сайты
    • Назад
    • Готовые сайты
    • Недвижимость
    • Медицина
    • Ресторанный бизнес
    • Автомобили и автозапчасти
    • Бухгалтерские и юридические услуги
    • Государство
    • Детские товары
    • Красота и здоровье
    • Мебель, интерьер, декор
    • Образование
    • Одежда и обувь
    • Подарки и сувениры
    • Продукты питания
    • Спорт, туризм и отдых
    • Строительство, ремонт, инструменты
    • Товары для животных
    • ТСЖ, ЖСК
    • Украшения, аксессуары, подарки
    • Электроника и бытовая техника
    • Универсальные
    • Разное
  • 1С Битрикс
    • Назад
    • 1С Битрикс
    • Старт (7 100 ₽)
    • Стандарт (20 500 ₽)
    • Малый бизнес (47 000 ₽)
    • Бизнес (96 500 ₽)
    • Интернет-магазин + CRM (109 000 ₽)
    • Продление лицензии
    • Сравнить редакции
  • CRM
  • Контакты
  • Личный кабинет
  • +7 (904) 589-06-04
Будьте на связи
info@sng-it.ru
  • Вконтакте
  • YouTube

Регистрация и авторизация пользователей по email и без логина в битриксе

  • Главная
  • ❶ Сниппеты
  • ❷ Регистрация и авторизация пользователей по email и без логина в битриксе
Частая задача, пользователи не запоминают логины на сайтах, поэтому нужно регистрировать их по email или по номеру телефона. В последнем случае, можно сделать авторизацию по SMS, но это уже другая статья.

Задачу можно разделить на две части:

  • Авторизация по email.
  • Регистрация по email без логина.

Авторизация по email.

Итак, начнем с авторизации.

Скопируем шаблон '.default' компоненты system.auth.authorize в шаблон сайта и заменим в языковом файле шаблона /lang/ru/template.php 'Логин' на 'E-mail'.

2021-07-23_12-33-56.png

Настроим авторизацию по E-mail, для этого в init.php добавим событие, которое перед авторизацией будет проверять значение по символу '@'. Если будет введен EMAIL то находим LOGIN и авторизуем пользователя по логину.


AddEventHandler("main", "OnBeforeUserLogin", "DoBeforeUserLoginHandler");
function DoBeforeUserLoginHandler(&$arFields)
{
    $userLogin = $_POST["USER_LOGIN"];
    if (isset($userLogin))
    {
        $isEmail = strpos($userLogin,"@");
        if ($isEmail>0)
        {
            $arFilter = Array("EMAIL"=>$userLogin);
            $rsUsers = CUser::GetList(($by="id"), ($order="desc"), $arFilter);
            if($res = $rsUsers->Fetch())
            {
				if($res["EMAIL"]==$arFields["LOGIN"])
                $arFields["LOGIN"] = $res["LOGIN"];
            }
        }
    }
}


Регистрация по email без логина.


С авторизацией закончили, займемся регистрацией. Скопируем шаблон '.default' компонента system.auth.registration в шаблон сайта и удалим в нем поле ввода LOGIN.

2021-07-23_12-55-49.png

Чтобы не появлялось ошибки типа - "Введите логин. Логин является обязательным полем", добавим в init.php событие, перед регистрацией заменяющее LOGIN на EMAIL".


AddEventHandler("main", "OnBeforeUserRegister", "OnBeforeUserRegisterHandler");
function OnBeforeUserRegisterHandler(&$args)
{	
	if(!empty($args['EMAIL']) && empty($args['LOGIN']))
	{
		$args['LOGIN'] = $args['EMAIL'];		
	}
	return true;
}



Теги: Авторизация по email, Регистрация по email без логина, OnBeforeUserRegister, OnBeforeUserLogin

23.07.2021

Поделиться:
Назад к списку
  • Услуги
  • Обновление сайтов на 1С-Битрикс
  • Поиск и удаление вирусов
  • Интеграция сайта с 1С
  • Создание сайтов
  • Композитный сайт
  • Внутренняя оптимизация сайта
    • Доработка сайтов
    • Импорт каталога из файла поставщика
    • Парсинг контента
    • Перенос сайта на 1С Битрикс
    • Установка готового сайта
    • Купить лицензию 1С Битрикс
      • Битрикс 24
        • Выгрузка товаров в Яндекс.Маркет
        • Заказ на Маркете
        • Интеграция с соцсетями
        • Настройка служб доставки
        • Перевод сайта на https
        • Сопровождение сайтов на 1С Битрикс
        • Настройка платежных систем
        Аудит сайта
        Записаться на техподдержку

        Программист 1С-Битрикс — Семён Голиков
        Программист 1С-Битрикс
        разработка · доработка · техподдержка
        Работаю с 1С-Битрикс с 2010 года
        Есть задача по 1С-Битрикс?
        Выберите удобное время в календаре техподдержки.
        Выбрать времяНаписать в Telegram
        Услуги
        Доработка сайтовСопровождение сайтовОбновление 1С-БитриксПоиск и удаление вирусовИнтеграция с 1СХостинг для битрикса
        Проекты и продукты
        ПортфолиоГотовые сайтыЛицензии 1С-БитриксБитрикс24Отзывы
        Материалы
        БлогСниппетыВидеоурокиОптимизация сайтаАкции
        Связаться со мной
        +7 (904) 589-06-04Позвонитьinfo@sng-it.ruНаписать на e-mail
        Telegram M MAX
        Обычно отвечаю в течение дня
        © 2010-2026 Семён Голиков · программист 1С-Битрикс
        Политика конфиденциальностиОбработка персональных данныхКарта сайта
        VK
        Спасибо за заявку!
        Мы свяжемся с Вами в ближайшее
        время и ответим на все вопросы.
        Заполните форму и отправьте
        заявку на консультацию!