Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вопрос про программирование в cms bitrix acpro optimus

Сергеевич Гуру (3898), на голосовании 3 года назад
Подскажите пожалуйста, к какому событию можно подвязаться что бы при регистрации выполнялся определенный код?
Голосование за лучший ответ
Ярослав Перфильев Просветленный (23333) 3 года назад
ну так и подвяжись к файлу регистрации например что там у тебя registration.php или auth.php отвечает за вывод формы регистации так же надо не забыть если создаешь добавочное условие например правила сайта нужно создать файл pravila.php например и внести изменения htacces
СергеевичГуру (3898) 3 года назад
<?

require($_SERVER["DOCUMENT_ROOT"]."/custom_page/connect.php");
require($_SERVER["DOCUMENT_ROOT"]."/custom_page/request.php");
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Регистрация");
СергеевичГуру (3898) 3 года назад
if(!$USER->IsAuthorized())
{?>

<?
$APPLICATION->IncludeComponent(
"bitrix:main.register",
"main",
Array(
СергеевичГуру (3898) 3 года назад
"USER_PROPERTY_NAME" => "",
"SHOW_FIELDS" => array("NAME","EMAIL","PERSONAL_PHONE", "PERSONAL_BIRTHDAY"),
"REQUIRED_FIELDS" => array("NAME","EMAIL", "PERSONAL_PHONE", "PERSONAL_BIRTHDAY"),
СергеевичГуру (3898) 3 года назад
"AUTH" => "Y",
"USE_BACKURL" => "Y",
"SUCCESS_PAGE" => "",
"SET_TITLE" => "N",
"USER_PROPERTY" => array()
)
);
СергеевичГуру (3898) 3 года назад
$fio_reg = $_REQUEST['REGISTER[NAME]']; // фио с поле ввода
$email_reg = $_REQUEST['REGISTER[EMAIL]'];// емайм с поле ввода
$phone_reg = $_REQUEST['REGISTER[PERSONAL_PHONE]'];
$data_happy_reg = $_REQUEST['REGISTER[PERSONAL_BIRTHDAY]'];
$request_db = new request_db(); // подключаю свой класс

if(isset($_REQUEST['register_submit_button1'])) // по идее если нажата кнопка зарегистрироваться
{

$reg_zapros = $request_db->user_reg_150ball($phone_reg, $data_happy_reg); // проверка на количество найденных строк в сторонней СУБД. Если найдена запись, то ничего не делаем иначе добавляем данные пользователя в стороннюю БД.

if($reg_zapros == 1) /
{
$er=1;
}
else
{
СергеевичГуру (3898) 3 года назад
$request_db->add_client($fio_reg, $phone_reg, $data_happy_reg, $email_reg);
}
}

$_REQUEST["REGISTER[LOGIN]"] = $_REQUEST["REGISTER[EMAIL]"];
} elseif(!empty( $_REQUEST["backurl"] )) {LocalRedirect( $_REQUEST["backurl"] );} else { LocalRedirect(SITE_DIR.'personal/');}

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");
?>
СергеевичГуру (3898) 3 года назад
Не получается добавить.
Выражение $reg_zapros = $request_db->user_reg_150ball($phone_reg, $data_happy_reg); точно рабочий. Проверил через другую систему
СергеевичГуру (3898) 3 года назад
Нашел нестандартное решение. После регистрации пользователя перекидывает на personal/index.php. Вон там я и прописал код. То есть при каждом входе в личный кабинет, будет выполняться проверка на регистрации в бальной системе.
Александр Кузенков Мастер (1228) 3 года назад
Вот это знатоки битрикса собрались как я посмотрю.
У битрикса есть система событий, в частности onAfterUserAdd или onAfterUserRegister, с помощью которых можно выполнить сразу после добавления (регистрации) пользака нужный код. Подробнее в оф доке (гугл запрос: битрикс onAfterUserAdd, первая ссылка). Не изобретайте велосипед
Похожие вопросы