1С-Битрикс Jquery Ajax форма авторизации в всплывающем окне. В корне сайта создаем папку, называем ajax и в ней создаем файл index.php и пишем следующий код


< ? define("NO_KEEP_STATISTIC", true);?>
< ? define("NOT_CHECK_PERMISSIONS", true); ?>
< ? define("NEED_AUTH", true); ?>
< ? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); ?>
< ?
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){

    if(!$USER->IsAuthorized()){      
                $res = $USER->Login(strip_tags($_POST['login']), strip_tags($_POST['password']), 'Y');
        if(empty($res['MESSAGE'])){
            $result['status'] = true;                   
                }
        else
        $result['message'] = strip_tags($res['MESSAGE']);
    }
    
    exit(json_encode($result));
}
?>



не забываем что должен быть подключен Jquery

В шаблоне нашего сайта /bitrix/templates/ваш шаблон/header.php подключаем main.js так

не забываем что должен быть подключен Jquery

В шаблоне нашего сайта /bitrix/templates/ваш шаблон/header.php подключаем main.js так

<script src="<?=SITE_TEMPLATE_PATH ?>/js/main.js"></script>

в папке /bitrix/templates/ваш шаблон/ создаем папку js в нем создаем файл main.js и пишем следующий Jquery код




$(document).ready(function(){

    $('.auth-link').click(function(e){
                $('.auth-box').modal();
                e.preventDefault();
        return false;
        });

        $('#auth-form input[name=submit]').click(function(e){
                $.ajax({
                type: 'POST',
                url: '/ajax/auth.php',
                data: {
                        mode: 'login',
                        login: $('#auth-form input[name=login]').val(),
                        password: $('#auth-form input[name=password]').val()
                },
                dataType: 'json',
                success: function(result){
        if(result.status)
             location.reload();
           else{
                $('.message.error').html(result.message);
                $('.message.error').show();            
           }
         }
                });
                e.preventDefault();     
                return false;     
        }); 

});



в ссылке авторизации пишем этот код

<a href="#" class="auth-link"><i class="icon icon-power"></i> Войти</a>

HTML Форма авторизации размешаем в нашем шаблоне /bitrix/templates/ваш шаблон/footer.php, это форма в разметке bootstrap.

В styles.css стилях нашего шаблона добавляем, код из файла bootstrap.css: либо только код стилей модальных окон.

<div id="authModal" class="auth-box modal fade" tabindex="-1" role="dialog" aria-labelledby="aauthModalLabel" aria-hidden="true">
        <div class="modal-dialog">
                <div class="modal-content">
                <div class="modal-body">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <div class="title">Авторизация</div>
                <form id="auth-form">
                        <div class="message error"></div>
                        <div class="row">
                        <input type="text" name="login" placeholder="Логин"/>
                        </div>
                        <div class="row">
                        <input type="password" name="password" placeholder="Пароль"/>
                        </div>
                        <div class="row">
                        <input type="button" class="btn" name="submit" value="Вход" />
                        <a href="/auth/?forgot_password=yes">Забыли пароль?</a>
                        </div>
                </form>
                </div>
        </div>
  </div>
</div>