Авторизация регистрация по номеру телефона в Аспро Максимум | Документация к модулю Авторизация по номеру телефона

Авторизация регистрация по номеру телефона в аспро максимум

Для решения Аспро Максимум форма авторизации / регистрации подгружается по ajax. Для ее замены необходимо найти файл относительно корня сайта – /ajax/auth.php. Сделайте его копию. В оригинальный файл вставьте код ниже.

Комопнент может быть выведен и дургой, для этого нужно взять пример кода для ajax.php с нужным комопнентом. Примеры со всеми компонентами есть в репозитории –https://github.com/SergeySolopov/bxmaker.authuserphone

<?

// содержимое файла /ajax/auth.php

require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php');

global $USER;

if ($_GET['auth_service_error']) {
    LocalRedirect(SITE_DIR . 'personal/');
}

/**
 * @var $component CBitrixComponent
 * @var $APPLICATION CMain
 */


if (!$USER->IsAuthorized()): ?>
    <script src="<?= SITE_TEMPLATE_PATH . '/js/phoneorlogin.min.js' ?>"></script>
    <?
    if (isset($_REQUEST['backurl']) && $_REQUEST['backurl']) {
        // fix ajax url
        if ($_REQUEST['backurl'] != $_SERVER['REQUEST_URI']) {
            $_SERVER['QUERY_STRING'] = '';
            $_SERVER['REQUEST_URI'] = $_REQUEST['backurl'];
            $APPLICATION->reinitPath();
        }
    } ?>
    <a href="#" class="close jqmClose"><?= CMax::showIconSvg('', SITE_TEMPLATE_PATH . '/images/svg/Close.svg') ?></a>

    <div id="wrap_ajax_auth" class="form">
        <?

        $bSkip = false;

        //подклчюаем модуль
        if (BitrixMainLoader::includeModule('bxmaker.authuserphone')) {

            $oManager = BXmakerAuthUserPhoneManager::getInstance();

            //если модуль для текущего сайта включен
            if ($oManager->isEnabled()) {

                $bSkip = true;


                // подклчюение расширения необходимого для работы компонента в публичнйо части
                BitrixMainUIExtension::load('bxmaker.authuserphone.simple');
                echo CJSCore::GetHTML(['bxmaker.authuserphone.simple']);


                // подключение комопеннта
                $APPLICATION->IncludeComponent(
                    'bxmaker:authuserphone.simple',
                    '',
                    [
                        'COMPOSITE_FRAME_MODE' => 'N'
                    ]
                );


                // стили чтобы попап окно было соразмерно контенту компонента
                ?>
                <style>
                    .auth_frame.popup {
                        width: auto;
                    }

                   #popup_iframe_wrapper {
                        z-index: 980 !important;
                   }
                </style>
                <?
            }
        }

        // если модуль для текущего сайта не включен или вообще не установлен, показываем исходный вариант
        if (!$bSkip) {
            ?>
            <div class="form_head">
                <h2><?= BitrixMainLocalizationLoc::getMessage('AUTHORIZE_TITLE'); ?></h2>
            </div>

            <?
            $APPLICATION->IncludeComponent(
                "bitrix:system.auth.form",
                "main",
                [
                    "REGISTER_URL" => SITE_DIR . "auth/registration/?register=yes",
                    "PROFILE_URL" => SITE_DIR . "auth/",
                    "FORGOT_PASSWORD_URL" => SITE_DIR . "auth/forgot-password/?forgot-password=yes",
                    "AUTH_URL" => SITE_DIR . "auth/",
                    "SHOW_ERRORS" => "Y",
                    "POPUP_AUTH" => "Y",
                    "AJAX_MODE" => "Y",
                    "BACKURL" => ((isset($_REQUEST['backurl']) && $_REQUEST['backurl']) ? $_REQUEST['backurl'] : "")
                ]
            );
        }
        ?>

    </div>
<?
elseif (strlen($_REQUEST['backurl'])): ?>
    <?
    LocalRedirect($_REQUEST['backurl']); ?>
<?
else: ?>
    <?
    if (strpos($_SERVER['HTTP_REFERER'], SITE_DIR . 'personal/') === false && strpos($_SERVER['HTTP_REFERER'], SITE_DIR . 'ajax/form.php') === false): 
        $APPLICATION->ShowHead();
        ?>
        <script>
            jsAjaxUtil.ShowLocalWaitWindow('id', 'wrap_ajax_auth', true);
            BX.reload(false)
        </script>
    <?
    else: ?>
        <?
        LocalRedirect(SITE_DIR . 'personal/'); ?>
    <?
    endif; ?>
<?
endif; ?>

В итоге получиться примерно так

Похожее:  Настройка SMTP на сайте - Раздел помощи - SpaceWeb

2021-11-14_12-08.png

В мобильной версии авторизация находится не в popup окне а на отдельной странице /auth/, на которой выводится комопнент решения Аспро.

Чтобы заменить его на комопнент модуля, необходимо в начало файла /auth/index.php прописать константу для вывода авторизации

<?
define('NEED_AUTH', true);

//...

А в настройках главного модуля указываем шаблон для системных комопнентов атворизации регистрации

2021-11-08_12-14.png

Регистрации и авторизации с помощью телефонного номера

Здравствуйте! Благодарим, что так подробно описали свои пожелания. Ответим также по пунктам:

1) Благодарим вас за обратную связь! Разделять по табам, как в решении Аспро: Next, не будем. Просто поправим работу маски телефона, чтобы она не мешала вводить почту. Номер задачи — MAX-3307.

2) Функционал не добавили сразу, так как у 1C-Битрикс нет поддержки авторизации по SMS через оформление заказа. Но придумали свое решение. При клике на кнопкук регистрации будет перенаправление на нашу страницу, а после успешной регистрации возвращать на оформление заказа. Открытую форму авторизации скорее всего придется убрать, чтобы так же можно было вести на нашу страницу по клику. Номер задачи — MAX-3308.

3) В таком случае заказ будет оформлен на уже зарегистрированного пользователя, дубль создан не будет. В большинстве магазинов функционал работает так же, как в решении Аспро: Максимум. Если клиент уже ранее покупал, то логично, что можно авторизоваться, а можно снова ввести данные.

Как вариант, вы можете выключить оформление заказа без авторизации. Тогда пользователю нужно будет авторизоваться, только потом он сможет оформить заказ

4) Мы используем стандартный функционал 1С-Битрикс для отправки SMS. Поэтому ждем внедрение авторизации по звонку от платформы. Когда 1С-Битрикс добавит, функционал появится и в решениях Аспро.

Кстати, мы рассматривали настройку авторизации через SMS в видео https://clck.ru/bmmif. Надеемся, что оно будет полезно для вас. Продуктивной недели!

Похожее:  Главная страница - DREAMTEAM

Самое время обновиться и использовать новые возможности на своем проекте!

Важно! Не забудьте создать резервную копию вашего сайта. Полезные советы для владельцев модифицированного решения ждут вас в нашей базе знаний.

Заинтересовал функционал, но вы еще не приобрели решение? Протестируйте возможности прямо сейчас:

Похожее:  Мобильный банк | Кредит Европа Банк

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 4,00 из 5)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *