Как добавить отчество в компонент регистрации system.auth.registration

Алексей Будагов,

Стандартно это сделать невозможно, т.к. компонент системный и его параметрами мы управлять не можем.
Так что будем "костылить".

Копируем шаблон компонента и добавляем новый инпут в template.php

<input type="text" name="USER_SECOND_NAME" value="<?=$arResult["USER_SECOND_NAME"]?>" >

Создаем в скопированном шаблоне новый файл (если нет) result_modifier.php и вписываем 2 строки

<?
$arResult["USER_SECOND_NAME"] = strlen($_REQUEST["USER_SECOND_NAME"]) > 0 ? $_REQUEST["USER_SECOND_NAME"] : "";
$arResult["USER_SECOND_NAME"] = htmlspecialcharsbx($arResult["USER_SECOND_NAME"]);
?>

В /local/php_interface/init.php добавяем обработчик события OnBeforeUserRegister

<?
AddEventHandler("main", "OnBeforeUserRegister", "addSecondNameOnReg");
function addSecondNameOnReg(&$arParams) {
	if (strlen($_REQUEST["USER_SECOND_NAME"]) > 0) {
		$arParams['SECOND_NAME'] = htmlspecialcharsbx($_REQUEST["USER_SECOND_NAME"]);
	}
}
?>

В компоненте main.register отчество добавляется через параметр "SHOW_FIELDS"=>array("SECOND_NAME").

Опубликовано 19 Сентября 2017
костыли, разработчику

Возврат к списку

Комментарии