Создать шаблон формы

t1

Шаблоны находяться в каталоге /templates/Default/billing/plugins/forms/.
Каждый шаблон - отдельный раздел с уникальным названием.

Шаблон состоит из 2х файлов:

  • info.ini
  • theme.tpl
info.ini

Конфигурационный файл с названием шаблона и описанием полей, настройками валидации и др.

Файл содержит секции и параметры:

Название шаблона

title=Бронирование

Передаваемые поля и валидация данных
[input]
days = required,int,min:1
guests = required,int,min:1,max:5
hotel = text

Слева от равно - параметр name="..." поля

<input type="text" name="**hotel**" value="Name Hotel">

Справа - тип поля, и параметры валидации (через запятую):

  • required - обязательное
  • int - числовое, целое; здесь же - минимальное (min:1) и максимальное (max:5) значение. Внимание! Значение не прошедшее по параметру - будет им заменено.
  • text - текстовое поле (по умолчанию).
  • datetime - дата и время
Дополнительные параметры, которые не должны быть изменены
[params_not_change]
email=1

Если вы передаете дополнительные параметры в сгенерированный код вызова шаблона, и не хотите что бы они были изменены в процессе отправки формы пользователем - вы можете указать названия этих параметров в этом блоке.

t3

Список колонок для таблицы в админпанели
[columns]
fio=Имя
hotel=Отель
guests=Гостей
date=Заезд
email=Email
phone=Телефон

В этом блоке указывается список полей и соответствующее название колонки таблицы в админпанели.


theme.tpl

Непосредственно сама форма, может содержать следующие теги:

  • {form_title} - название формы, указывается в админпанели при создании кода вызова формы
  • {hidden_input} - обязательный тег, содержит hash строку для проверки целостности переданных данных
  • {uniqid} - уникальный строковый id формы

t2

{param_параметр} - значение, переданное форму через строку вызова

 <!-- Сообщение об успешном сохранении форсы -->
<input type="hidden" name="response[text]" value="Заявка сохранена">

Если форма не требует оплаты - пользователю будет показано сообщение об успешной отправки данных.