DotPlant2 documentation

Формы

Создание формы

В DotPlant CMS возможно создавать произвольные формы прямо из административной панели в раделе формы.

Форма имеет следуещие поля:

  • Название - Название формы (обязательное поле)
  • Представление формы - путь до файла представления формы
  • Представление успешно отправленной формы - путо до файла представления об успешной отправке формы
  • Адрес для оповещения - список e-mail адресов для оповещения о новой отправленной формы, разделенные зяпятой
  • Представление e-mail оповещений - путь до файла представления e-mail оповещения (обязательное поле)
  • Form Open Analytics Action ID - идентификатор аналитикса о показе формы пользователю
  • Form Submit Analytics Action ID - идентификатор аналитикса об отправке формы

Поля формы задаются через свойства. Подробнее об этом читайте в разделе свойства.

Отображение формы

Минимальный вызов виджета отображения формы выглядит следующим образом:

<?=
\app\widgets\form\Form::widget(
    [
        'formId' => 1,
    ]
)
?>

Кроме этого существует ряд дополнительных параметров:

  • id - идентификатор формы (по умолчанию генерируется Yii);
  • isModal - (по умолчанию false);
  • formId - ID формы (обязательный пареметр);
  • route - Роут на который отправлять данные формы (по умолчанию 'default/submit-form');
  • options - массив html-опций (по умолчанию ['data-type' => 'form-widget']).

Пример формы в модальном окне

Сначала добавляем в код страницы вызов виджета формы

<?=
\app\widgets\form\Form::widget(
    [
        'formId' => 1,
        'id' => 'callback',
        'isModal' => true,
    ]
)
?>

Далее вешаем вызов модального окна на ссылку (<a href="#" data-toggle="modal" data-target="#modal-form-callback">Показать форму</a>) или кнопку (<button data-toggle="modal" data-target="#modal-form-callback"></button>). Теперь при клике на данные элементы у нас откроется модальное окно с формой.

Важно! data-target формируется следующим образом #modal-form- + идентификатор формы.

Также можно вызвать модальное окно с помощью jQuery jQuery('#modal-form-callback').modal('show');.