Документация

Начало работы

Модели (models)

Шаблоны (views) и маршрутизация (routes)

Формы

SQL запросы

Сессии и безопасность

Плагины

Настройка полей формы

Создадим форму и будем изменять параметры ее полей

<?
$fields = array(array("Ваше имя", "char", "name", array("required" => true),
                array("Пол", "enum", "gender", array("values_list" => array("Мужской", "Женский"))),
                array("Email", "email", "email"),                
                array("Получать новости", "bool", "news_subscribe"),
                array("Дополнительная информация", "text", "about", array("help_text" => "Расскажите о себе"))
);

$form = new Form($fields);

//Вывод всех полей формы, по умолчанию выводится рядами таблицы
echo $form -> display();

//Вывод всех полей формы, в вертикальном виде в тэгах "div" 
echo $form -> displayVertical();

//Вывод выборочных полей формы в нужной последовательности
echo $form -> display(array("name", "about", "email"));

//Вывод html кода для отдельного поля формы (без названия)
echo $form -> displayFieldHtml("gender");

//Вывод формы с ошибками, прикрепленными к полям
echo $form -> setDisplayWithErrors() -> display();
?>

Добавление / удаление поля

$form = new Form($fields);

//Операции над полями выполняются до проверки и вывода на экран полей формы
$form -> addField(array("Номер телефона", "phone", "phone_number"));
$form -> removeField("news_subscribe");

echo $form -> display();

Изменение параметров полей

//Сделать поле обязательным для заполнения
$form -> setRequired("about");

//Сделать несколько полей обязательными для заполнения, значение "*" - для всех полей
$form -> setRequiredFields(array("email", "about"));

//Задать название поля
$form -> setCaption("email", "Электронная почта");

//Задать поясняющий текст к полю
$form -> setHelpText("news_subscribe", "Рассылка приходит не чаще раза в месяц");

//Задать дополнительные html параметры поля (атрибуты: id, class, title и пр.)
$form -> setHtmlParams("about", 'id="about-me" class="text-field" rows="12"');

//Дополнительные html параметры для нескольких полей
$form -> setHtmlParams(array("email", "name"), 'class="text-input"');

Дополнительные возможности

//Если значениями поля типа "enum" являются данные другой модели
(внешний ключ), то их можно фильтровать
$form -> filterValuesList("city", array("active" => 1, "order->asc" => "name"));

//Для поля типа "date" можно задавать отображение в виде 3 select тэгов
$form -> setDisplaySelects("date");

//Для поля типа "enum" можно задать отображение в виде radio кнопок
$form -> setDisplayRadio("gender", 2);

//Для поля типа "many_to_many" вывести значения в виде таблицы с чекбоксами
//(2 - количество колонок таблицы, может быть изменено)
$form -> setDisplayTable("interests", 2);

Предыдущий раздел

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