Как добавить отчество в компонент регистрации 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
костыли, разработчику

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

Комментарии
TerrellBom
19 Май 2019
Комментарий скрыт
Davidsak
18 Май 2019
Комментарий скрыт
terwixonse
17 Май 2019
Комментарий скрыт
liesepind
16 Май 2019
Комментарий скрыт
terwixonse
11 Май 2019
Комментарий скрыт