Битрикс как в поле логин записывать емейл при регистрации

Разбираемся что внутри компонента регистрации, и добавляем простой jquery код.

Первым делом нужно найти шаблон компонента регистрации — system.auth.registration. Как только вы убедились, что вы в нужном месте, смотрим код:

<input id="login-reg" type="hidden" name="USER_LOGIN" maxlength="50" value="<?=$arResult["USER_LOGIN"]?>" class="bx-auth-input form-control" />
<input id="email-reg" type="text" name="USER_EMAIL" maxlength="255" value="<?=$arResult["USER_EMAIL"]?>" class="bx-auth-input form-control" />

Обратите внимание, что мы поменяли type=text на type=hidden — для поля логин. Также, добавили id, чтобы по ним дописать js.
Теперь пишем jQuery:

$('#email-reg').on('keyup', function(){
    $val = $(this).val();
    $('#login-reg').val($val);
});

Вот и всё. Какие есть альтернативы этому методу? Например, вы можете вообще убрать элемент с логином, и добавить обработку. Сделать это можно выбрав соответствующее событие.

AddEventHandler("main", "OnBeforeUserRegister", Array("MyClass", "OnBeforeUserRegisterHandler"));
class MyClass
{
	function OnBeforeUserRegisterHandler(&$arFields)
	{
		$arFields["LOGIN"] = $arFields["EMAIL"];
	}
}

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

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

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