Формы ввода данных
Формы ввода данных хранятся в папке
cms/form
Пример формы:
<form>
<group>
<field name="area" type="select" label="Место жительства" required="Y"><?php
return "г. Нижний Новгород|г. Арзамас|г. Бор|г. Выкса|г. Дзержинск|г. Первомайск|г. Саров|г. Шахунья";
?></field>
<div id="field-group" class="hide">
<hr />
<field name="field-01" type="radio" label="Оцените работу" required="Y" label-grid-n="1" label-grid-s="8" input-grid-n="10" input-grid-s="2"><?php
return "1|2|3|4|5";
?></field>
</div>
</group>
<script>
$(function() {
$("#area-field").change(function() {
if ($(this).val()) $("#field-group").show();
else $("#field-group").hide();
}).triggerHandler("change");
});
</script>
</form>
Элементы формы
В XML-документе, описывающем форму, допускаются следующие элементы:
<form></form>– обязательный элемент, в который заключены все остальные элементы<group></group>– элемент, описывающий группу полей. Визуально отображается как серый прямоугольник со скругленными углами<field />или<field></field>– поле ввода данных формы<script></script>– код на языке JavaScript, который будет выполняться в процессе заполнения формы пользователем<hr />,<p></p>,<div></div>, … – произвольные XHTML-элементы
Таким образом, минимальную форму можно создать с помощью следующего XML-документа:
<form>
<group>
<field />
</group>
</form>
Параметры полей ввода данных
Элемент
или
может иметь следующие атрибуты:
name– имя поля. Допускаются символы латинского алфавита, цифры, символы “-” и “_”type– тип поля. Возможные значения: text (ввод текста), password (ввод пароля), checkbox (флажок да/нет), select (раскрывающийся список), radio (радио-кнопка), multiple (выбор нескольких вариантов с помощью флажков), textarea (многострочный текст), date (выбор даты), captcha (проверочный код) и т.п. Список типов полей может быть расширен, например, полями для загрузки файлов, картинок, и т.д., которые требуют специальной обработки введенных данныхlabel– текст напротив поля вводаinfo– всплывающая подсказка для данного поляrequired– является ли поле обязательным для заполнения
Если для поля необходим список возможных вариантов (например, для радио-кнопки, выпадающего списка или выбора нескольких вариантов), то этот список необходимо создать с помощью вставки на языке PHP. В самом простом варианте список возможных значений задается строкой, в которой варианты разделены символом “|”:
<?php return '1|2|3|4|5'; ?>
Также допускается задание возможных значений в виде массива, ключами которого являются возможные значения, а элементами – их текстовые описания:
<?php return array( '' => 'По умолчанию', '1' => 'Вариант №1', '2' => 'Вариант №2' )?>
По умолчанию, поле ввода данных отображается в виде текста, который занимает 4/12 ширины страницы, и самого поля ввода, которое занимает 8/12 ширины страницы. Эти параметры можно изменить с помощью атрибутов поля:
label-grid-n– в какой из 12 ячеек начинается текст (по умолчанию 1 – текст слева)label-grid-s– сколько ячеек из 12 занимает текст (по умолчанию 4 – ширина текста 4/12)input-grid-n– в какой из 12 ячеек начинается поле ввода (по умолчанию 5 – сразу после текста)input-grid-s– сколько ячеек из 12 занимает поле ввода (по умолчанию 8 – ширина поля ввода 8/12)
Пример выше иллюстрирует использование этих атрибутов.