Для разработчиков

Хелперы темы

Обновлено

Хелперы выводят форму из шаблона темы. Всё, что делают кнопки и настройки в интерфейсе, доступно и отсюда.

Встроенная форма

{* форма вместе со стилями и скриптами *}
{$wa->requests->renderForm($form_id)}

Раздельно — когда стили и скрипты подключаются в своих местах страницы:

<link rel="stylesheet" href="{requestsViewHelper::getCss()}">
{requestsViewHelper::form($form_id)}
<script src="{requestsViewHelper::getJs()}"></script>

Модальное окно

{* с кнопкой по умолчанию *}
{requestsViewHelper::renderModal($form_id)}

{* со своим триггером, без стандартной кнопки *}
{requestsViewHelper::renderModal($form_id, ['trigger' => '.my-button', 'show_button' => false])}

Параметры второго аргумента перекрывают настройки формы. Так задумано: у темы больше контекста о том, куда встаёт окно на конкретной странице.

Лента отзывов

Если стоит плагин «Отзывы на сайте», лента выводится своим вызовом:

{$wa->requests->plugin('sitereviews', 'render', $form_id)}

Подробности — в статье «Отзывы на сайте».

Открытие без шаблона

Модалку можно открыть, не трогая шаблон вовсе:

<button data-requests-modal="1">Открыть форму</button>
<a href="#requests-modal-1">Заказать звонок</a>

Первое — атрибут на любом элементе, второе — ссылка с хэшем, которая работает даже из письма. Оба способа разобраны в статьях «Размещение на сайте» и «Модальное окно».

Замена шаблонов плагина в теме

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