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

Разбираемся что внутри компонента регистрации, и добавляем простой 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 року займаюся веб-розробкою. Зараз я – PHP Full Stack Developer.
Обговорити ваш проект, а також дізнатися більше про мене ви можете на цьому сайті:
dev.forwww.com

Email: dmitriyribka@gmail.com

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *