Для замены авторизации в решениях от 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
И соответственно результат
Для страницы оформления заказа достаточно разместить в начало файла personal/basket/order.php
константу define('NEED_AUTH', true);
Для замены авторизации в попап окне, необходимо в файле
/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>
<?
}
?>
В итоге результат должен получиться примерно таким