Необходимо в базу данных битрикса b_form_answer добавить логин при регистрации.
Вот что сделал в bitrix/php_interface/init.php:
Вылазит ошибка при нажатии кнопки регистрация:
Как сделать правильно то что я хочу?
Вот что сделал в bitrix/php_interface/init.php:
| Код |
|---|
<?
if (CSite::InDir('/registration.php'))
{
AddEventHandler("main", "OnBeforeUserRegister", "OnBeforeUserUpdateHandler");
AddEventHandler("main", "OnBeforeUserUpdate", "OnBeforeUserUpdateHandler");
function OnBeforeUserUpdateHandler(&$arFields)
{
$arFields["LOGIN"] = $arFields["PERSONAL_MOBILE"];
/*ДОБАВЛЕНИЕ В БАЗУ*/
$DB->PrepareFields("b_form_answer");
$arFields = array(
"TIMESTAMP_X" => $DB->GetNowFunction(),
"FIELD_ID" => "'".trim("22")."'",
"FIELD_TYPE"=> "'".trim("dropdown")."'",
"MESSAGE" => "'".trim($arFields["LOGIN"])
);
$DB->StartTransaction();
$DB->Commit();
/*********************/
return $arFields;
}
}
?> |
Вылазит ошибка при нажатии кнопки регистрация:
| Код |
|---|
[Error] Call to a member function PrepareFields() on null (0) /home/bitrix/www/bitrix/php_interface/init.php:12 #0: OnBeforeUserUpdateHandler(array) /home/bitrix/www/bitrix/modules/main/classes/general/module.php:475 #1: ExecuteModuleEventEx(array, array) /home/bitrix/www/bitrix/components/bitrix/main.register/component.php:176 #2: include(string) /home/bitrix/www/bitrix/modules/main/classes/general/component.php:548 #3: CBitrixComponent->__includeComponent() /home/bitrix/www/bitrix/modules/main/classes/general/component.php:600 #4: CBitrixComponent->includeComponent(string, array, boolean) /home/bitrix/www/bitrix/modules/main/classes/general/main.php:1035 #5: CAllMain->IncludeComponent(string, string, array, boolean) /home/bitrix/www/registration.php:25 |
Как сделать правильно то что я хочу?