К содержимому
Вывод в теме

Подключение к теме

Обновлено

Хелпер форм

В шаблонах приложения «Магазин» доступен метод renderAuthForms($default_form = 'login', $options = array()) у $wa->shop->checkoutauthPlugin.

Аргумент Назначение
$default_form Строка login, signup или forgot. Пустая строка использует настройку «Форма по умолчанию». Если аргумент пропущен, используется login.
$options Массив передаётся в шаблон как $options. Встроенные шаблоны его не используют.

Не передавайте массив настроек первым аргументом. Параметры show_tabs и wrapper_class через $options не управляют стандартным блоком: вкладки настраиваются в бэкенде, а собственный класс можно добавить внешней обёртке темы.

Метод возвращает HTML либо пустую строку, если пользователь уже вошёл, авторизация сайта отключена или выключено «Включить плагин». При отсутствии шаблона обёртки он возвращает сообщение «Шаблон не найден».

Отдельный блок регистрации

{if !empty($wa->shop->checkoutauthPlugin->version())}
    {$wa->shop->checkoutauthPlugin->renderAuthForms('signup')}
{/if}

Для входа используйте 'login', для восстановления — 'forgot'. Если восстановление недоступно, стандартная обёртка при первой загрузке показывает вход.

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

Найдите в активной теме участок, который выводит оформление. Пример ниже подходит для темы, использующей $wa->shop->checkout()->form(); если в теме другой код оформления, сохраните его в ветке else.

{assign var=checkoutauth_html value=''}
{if !empty($wa->shop->checkoutauthPlugin->version())}
    {assign var=checkoutauth_html value=$wa->shop->checkoutauthPlugin->renderAuthForms('')}
{/if}

{if !empty($checkoutauth_html)}
    {$checkoutauth_html}
{else}
    {$wa->shop->checkout()->form()}
{/if}

Пустой аргумент позволяет владельцу выбирать первую форму в настройках. Проверка результата сохраняет вывод оформления и при выключенном плагине.

Такое условие управляет содержимым страницы. Серверного запрета на создание заказа без входа плагин не добавляет.

Ограничения подключения

Размещайте один блок на странице: JavaScript ищет первую .js-checkoutauth-wrapper. Встроенная инициализация выполняется по DOMContentLoaded; если тема вставляет блок позже через AJAX, разработчику нужно отдельно проверить загрузку скрипта и инициализацию CheckoutauthForms.

После изменения темы проверьте первую загрузку, AJAX-переключения, завершение входа и вывод оформления заказа. Для изменения разметки см. переопределение шаблонов.