Вход по ID

Intec

Для замены авторизации в решениях от Intec необходимо выполнить следующие действия

Замена комопнента авторизации по умолчанию

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

<?php 
define("NEED_AUTH", true);

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

if($USER->IsAuthorized())
{
    LocalRedirect('/');
}


require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php") 
?>

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

2023-10-10_14-13.png

И соответственно результат

auth-flat.png

Страница оформления заказа

Для страницы оформления заказа достаточно разместить в начало файла personal/basket/order.php константу define('NEED_AUTH', true);

2022-07-07_14-39.png

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

Для замены авторизации в попап окне, необходимо в файле /bitrix/templates/universe_s1/components/bitrix/system.auth.form/template.2/template.php дополнить содержимое, в котором производится проверка включенности модуля и вывод комопнента, иначе выводится стандартные формы.

На вашем конкретном сайте может исопльзвоаться другой шаблон комопнента, не template.2, в этом случае изменения нужно производить с используемым шаблоном. Также шаблон сайта может иметь названия отличное от universe_s1, учитывайте эти особенности.

Привести нужно примерно к следующему виду

<?php if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) die(); ?>
<?php


use Bitrix\Main\Localization\Loc;
use intec\core\bitrix\Component;
use intec\core\helpers\Html;

$this->setFrameMode(true);


$sTemplateId = Html::getUniqueId(null, Component::getUniqueId($this));



$arAuthOptions = [
    'component' => 'bitrix:system.auth.authorize',
    'template' => 'popup.2',
    'parameters' => [
        'AUTH_URL' => $arParams['AUTH_URL'],
        'BACKURL' => $arResult['BACKURL'],
        'AUTH_REGISTER_URL' => $arParams['AUTH_REGISTER_URL'],
        'AUTH_FORGOT_PASSWORD_URL' => $arParams['AUTH_FORGOT_PASSWORD_URL'],
        'AJAX_MODE' => 'N',
        'AJAX_OPTION_ADDITIONAL' => $sTemplateId.'_auth_form',
        'AUTH_RESULT' => $APPLICATION->arAuthResult
    ]
];

$bUserPhoneRequired = COption::GetOptionString('main','new_user_phone_auth');

$arRegFields = [
    'NAME',
    'EMAIL'
];

if ($bUserPhoneRequired !== 'Y')
    $arRegFields[] = 'PERSONAL_PHONE';

$arRegOptions = [
    'component' => 'bitrix:main.register',
    'template' => 'template.2',
    'parameters' => [
        'SHOW_FIELDS' => [],
        'REQUIRED_FIELDS' => [
            0 => 'EMAIL'
        ],
        'AUTH' => 'Y',
        'AUTH_URL' => $arParams['AUTH_URL'],
        'USE_BACKURL' => 'Y',
        'SUCCESS_PAGE' => '',
        'SET_TITLE' => 'N',
        'USER_PROPERTY' => [],
        'USER_PROPERTY_NAME' => '',
        'COMPONENT_TEMPLATE' => 'template.2',
        'AJAX_MODE' => 'Y',
        'AJAX_OPTION_ADDITIONAL' => $sTemplateId.'_register_form',
        'AJAX_OPTION_JUMP' => 'N',
        'CONSENT_URL' => $arParams['CONSENT_URL']
    ]
];

?>

<div id="<?= $sTemplateId ?>" class="ns-bitrix c-system-auth-form c-system-auth-form-template-2">
    <div class="system-auth-form-control-tabs" data-ui-control="tabs">
        <div class="intec-grid intec-grid-wrap intec-grid-a-h-start intec-grid-a-v-start intec-grid-i-h-16">
            <div class="system-auth-form-control-tab-container intec-grid-item-auto">
                <a href="#<?= $sTemplateId ?>_tab_auth" data-type="tab" class="system-auth-form-control-tab">
                    <?= Loc::getMessage('C_SYSTEM_AUTH_FORM_TEMPLATE_2_TEMPLATE_TAB_AUTH') ?>
                </a>
                <div class="system-auth-form-control-tab-border intec-cl-background"></div>
            </div>
            <?php if (COption::GetOptionString('main', 'new_user_registration', 'N') != 'N') { ?>
                <div class="system-auth-form-control-tab-container intec-grid-item-auto">
                    <a href="#<?= $sTemplateId ?>_tab_registration" data-type="tab" class="system-auth-form-control-tab">
                        <?= Loc::getMessage('C_SYSTEM_AUTH_FORM_TEMPLATE_2_TEMPLATE_TAB_REGISTRATION') ?>
                    </a>
                    <div class="system-auth-form-control-tab-border intec-cl-background"></div>
                </div>
            <?php } ?>
        </div>
    </div>
    <div class="intec-ui intec-ui-control-tabs-content">
        <div id="<?= $sTemplateId ?>_tab_auth" class="intec-ui-part-tab">
            <?php $APPLICATION->IncludeComponent(
                $arAuthOptions['component'],
                $arAuthOptions['template'],
                $arAuthOptions['parameters'],
                false
            ) ?>
        </div>
        <?php if (COption::GetOptionString('main', 'new_user_registration', 'N') != 'N') { ?>
            <div id="<?= $sTemplateId ?>_tab_registration" class="intec-ui-part-tab">
                <?php $APPLICATION->IncludeComponent(
                    $arRegOptions['component'],
                    $arRegOptions['template'],
                    $arRegOptions['parameters'],
                    false
                ) ?>
            </div>
        <?php } ?>
    </div>
</div>


<?
//добавляем ---
if(\Bitrix\Main\Loader::includeModule('bxmaker.authid') && \BXmaker\AuthID\Manager::getInstance()->option()->isEnabled()){
?>

<div style="    overflow: hidden;    max-width: 370px;  margin: 0 auto;">
    <?
        $APPLICATION->IncludeComponent(
            'bxmaker:authid.area',
            '',
            [
                'SHOW_LINE' => 'Y',
                'RAND_STRING' => (\BXmaker\AuthID\Manager::getInstance()->context()->getRequest()->isAjaxRequest() ? 'AJAX' : 'DEFAULT')
            ]
        )
    ?>

</div>
<?
}
?>


В итоге результат должен получиться примерно таким 2023-10-10_14-17_1.png