Rsform в модальном окне joomla 3

Почему-то этот вопрос очень часто задается в Интернете. На деле ничего сложного нет, особенно для любителей UIkit — RSForm имеет на борту всю необходимую разметку. Рассмотрим работу модальных окон UIkit в Joomla на примере компонента RSForm.

Полноэкранный вариант модального окна с картинкой можно взять из примера с модальными окнами.

В качестве подопытного будем использовать стандартный шаблон Joomla Protostar.

Rsform в модальном окне joomla 3

Настройка шаблона

Создаем новую позицию в файле templateDetails.xml нашего шаблона, чтобы она появилась в админке. Называем позицию "modal-form".

Внимание Помните, что имя позиции в templateDetails.xml и index.php должно быть одинаковым!

Rsform в модальном окне joomla 3

Идем в файл шаблона index.php

В примере используется стандартный код для вывода модуля. Сначала вставляем его:

Rsform в модальном окне joomla 3

Берем разметку простейшего модального окна из компонента модальные окна:

<div class="body" id="top">
<!-- Кнопка вызова модального окна -->
<button uk-toggle="target: #my-id" type="button"></button>

<!-- Модальное окно -->
<div id="my-id" uk-modal>
<button class="uk-modal-close" type="button"></button>
</div>
</div>

Объединяем все вместе.

Обратите внимание, что необходимо обернуть всю разметку в счетчик countModules, чтобы не выводить лишннее в случае, если модуль не опубликован.

Rsform в модальном окне

<?php if ($this->countModules('modal-form')) : ?>
<!-- Кнопка вызова модального окна -->
<button uk-toggle="target: #my-id" type="button"></button>
<!-- Модальное окно -->
<div id="my-id" uk-modal>
<button class="uk-modal-close" type="button"></button>
<jdoc:include type="modules" name="modal-form" style="xhtml"/>
</div>
<?php endif; ?>

Настройка компонента RSForm

Не забудьте заглянуть в настройки компонента RSForm. В разделе "Responsive Layouts" выберите интересующий вариант разметки. В нашем случае UIKit 3. Также следует убрать галку "Load Layout CSS / JS". Этим действием мы деактивируем подключение UIkit силами RSForm, чтобы не дублировать код.

Rsform в модальном окне joomla 3

Настройка Модуля RSForm

С кодом закончили. Идем в админку Joomla и добавляем/изменяем модуль вывода формы. Устанавливаем для модуля новую позицию.

Rsform в модальном окне joomla 3

Готово! Теперь вы знаете, как выводить RSForm в модальном окне без использования iframe и прочей чепухи.