Создание интерактивной формы на основе конструктора форм

1. В группе параметров «Форма» создается параметр «конфигурация формы»:

Название: конфигурация формы
Переменная: form_conf
Тип: textarea
Модификаторы: parse=1 и editor=t_editor

2. В группе параметров «Форма» создается параметр «сохраненная форма»:

Название: сохраненная форма
Переменная: form_save
Тип: textarea
Модификаторы: serialize_is=1

3. В начало файла стилей site_templates.xsl добавляется строка:
<xsl:include href="/www/treegraph4/xsl/jqform.xsl"></xsl:include>

4. В файл стилей site_templates.xsl добавляется стиль «jquery форма [упр.список]» (есть на demo.local.graphit.ru)

5. При необходимости добавляются собственные шаблоны строк формы и элементов:
<xsl:template match="*" mode="'jq_form_row'"> и
<xsl:template match="'*" mode="'form_element'">

6. На сайте создается обычная интерактивная форма со стилем ветви «jquery форма». Параметр «имя формы или параметра» остается пустым.

7. В форму добавляется параметр «конфигурация формы» и заполняется по следующим правилам.

Каждый элемент формы представляет собой несколько строк вида:

ключ[индекс]=значение

ключ – одно из определенных ключевых слов, задающих тип параметра, его внешний вид и различные настройки

индекс – произвольное имя (набор латинских букв, цифр и _, начинается с буквы). Для одного параметра все индексы указываются одинаковые! В качестве индекса можно указать имя «реального» параметра.

значение – строка, задающая значение ключа (зависит от ключа)

Пустые строки и строки, начинающиеся с #, игнорируются.

8. Виды ключей

type

Задает тип поля (параметра). Обязательный ключ. Возможные значения: text, textarea, check, image, file, date, number, password, select, mselect, radio, mradio, checks, list, selects, mselects, hidden, header

description

Название поля формы (текст). Обязательный ключ.

desctext

Дополнение названия формы (текст)

fseparator

Разделитель значений для списков. По умолчанию - ; (символ)

items

Список возможных значений через разделитель (текст;текст;…)

vals

Список ключей для возможных значений. Если не указан, то для значений применяется список items (текст;текст;…)

selected

Начальное значение поля формы (текст или список)

required

Обязательность ввода для поля формы (0/1)

disabled

Атрибут disabled для поля формы (0/1)

readonly

Атрибут readonly для поля формы (0/1)

nodesc

Не показывать название поля (description) (0/1)

placeholder

Атрибут placeholder для поля (текст)

class_row

CSS класс для строки с элементом формы

 

Ключи для группирования элементов типа radio и checks

first

Название группы для объединения у первого элемента (текст)

group

Название группы для объединения элементов (текст)

title

Заголовок колонки объединенных элементов (текст)

numbering

Столбец с нумерацией объединенных элементов (0/1)

desc_pref

Префикс описания объединенных элементов (текст)

desc_add

Дополнение описания объединенных элементов (текст)

items_pref

Префикс для названий итемов элемента (текст)

sub_groups

Список номеров подгрупп объединенных элементов

sub_groups_title

Список заголовков подгрупп объединенных элементов

sub_group

Номер подгруппы элемента (число)

view

Модификатор внешнего вида элемента (table)

show_vals

Показывать значения вместо текстов элементов в заголовке (0/1)

bot_header

Повторить строку заголовка под таблицей (0/1)

data-max-checked

Максимальное число выбранных элементов типа checks

data-disabled-elem

Имя параметра управляющего элемента. Данный элемент будет скрыт, пока значение параметра указанного элемента не будет равно значению, заданному в ключе data-disabled-val

data-disabled-val

Значение параметра управляющего элемента для показа элемента с ключом data-disabled-elem

 

9. Примеры

type[n1]=text
description[n1]=Текстовое поле
required[n1]=1
selected[n1]=Graphit


type[n2]=textarea
description[n2]=Блок текста
placeholder[n2]=Введите кратное описание задачи


type[n3]=check
description[n3]=Чекбокс
selected[n3]=1
required[n3]=1


type[n4]=select
description[n4]=Селект с числовыми значениями
items[n4]=выберите значение:;значение 100;значение 200;значение 300
vals[n4]=0;100;200;300


type[n5]=select
description[n5]=Селект с текстовыми значениями
items[n5]=выберите:;значение 1;значение 2;значение 3


type[n6]=radio
description[n6]=Радио-кнопки
items[n6]=выбор 1;выбор 2;выбор 3
vals[n6]=1;2;3


type[n7]=checks
description[n7]=Группа чекбоксов
items[n7]=чек 1;чек 2;чек 3


type[n8]=selects
description[n8]=Множественный селект
items[n8]=значение 1;значение 2;значение 3;значение 4;значение 5
vals[n8]=1;2;3;4;5


type[n9]=number
description[n9]=Число с 3 знаками
feminlength[n9]=3
femaxlength[n9]=3


type[n10]=date
description[n10]=Дата
selected[n10]=05.07.2019


type[view_file]=file
description[view_file]=Файл (реальный параметр)

 


type[icon]=image
description[icon]=Графика (реальный параметр)


description[n11]=Группировка элементов типа radio
type[n11]=header
desctext[n11]=(дополнение)
first[n11]=n11
width_item[n11]=15%
title[n11]=Заголовок
numbering[n11]=1

description[n11_1]=Первый элемент
type[n11_1]=radio
items[n11_1]=Много; Достаточно; Мало
vals[n11_1]=1;2;3
required[n11_1]=1
group[n11_1]=n11

description[n11_2]=Второй элемент
type[n11_2]=radio
items[n11_2]=Много; Достаточно; Мало
vals[n11_2]=1;2;3
required[n11_2]=1
group[n11_2]=n11

description[n11_3]=Третий элемент
type[n11_3]=radio
items[n11_3]=Много; Достаточно; Мало
vals[n11_3]=1;2;3
required[n11_3]=1
group[n11_3]=n11


description[n12]=Группировка элементов типа checks с подгруппами
type[n12]=header
title_add[n12]=1 – много; 2 – достаточно; 3 – мало
first[n12]=n12
width_group[n12]=35%
width_item[n12]=5%
title[n12]=Заголовок
sub_groups[n12]=1;2
sub_groups_title[n12]=Подгруппа 1;Подгруппа 2

description[n12_1_1]=Первый элемент
type[n12_1_1]=checks
items[n12_1_1]=1;2;3
group[n12_1_1]=n12
sub_group[n12_1_1]=1

description[n12_1_2]=Второй элемент
type[n12_1_2]=checks
items[n12_1_2]=1;2;3
group[n12_1_2]=n12
sub_group[n12_1_2]=1

description[n12_2_1]=Первый элемент
type[n12_2_1]=checks
items[n12_2_1]=1;2;3
group[n12_2_1]=n12
sub_group[n12_2_1]=2

description[n12_2_2]=Второй элемент
type[n12_2_2]=checks
items[n12_2_2]=1;2;3
group[n12_2_2]=n12
sub_group[n12_2_2]=2


10. Экспорт введенных данных

Экспорт данных, введенных в форме, можно произвести несколькими способами.

а) С помощью административного модуля JM

Для этого надо поместить все объекты, дочерние к форме в фильтр (см. описание модуля) и выбрать в контекстном меню команду «Экспорт». В открывшейся панели выбрать нужный формат экспорта, задать кодировку, список экспортируемых атрибутов и параметров и другие настройки. Затем нажать кнопку «ввести» и на новой панели – кнопку «открыть».

б) С помощью отдельного объекта-экспорта

Для этого надо создать отдельный объект со следующими параметрами:
«обработчик» - выбрать jexport
«сколько (start,limit)» - указать количество экспортируемых объектов
«условие выбора» - задать условие в виде: parent_id=XXX (XXX – id формы)
«настройки обработчика» - задать настройки экспорта

в) С помощью самой формы

Для этого надо к адресной строке формы добавить ключ export=1 в одном из форматов:

http://адрес_сайта/форма?export=1
http://адрес_сайта/?id=XXX&export=1

Настройки экспорта можно задать в параметре «настройки обработчика» в самой форме или с помощью ключей в адресной строке после ключа export=1. Например:

https://адрес_сайта/?id=XXX&export=1&export_format=html&export_params=id,params

Все возможные настройки экспорта (для параметра «настройки обработчика» и адресной строки):

Ключ

Значение и описание

По умолчанию

export_params

Список атрибутов и параметров для экспорта (через ,). Можно указать * (все атрибуты и параметры), attr (все атрибуты), params (все параметры)

*

export_format

Формат экспорта: text, html, csv, doc, xml, rss, yml, zip (архив + csv)

text

export_encode

Кодировка: UTF-8 (Юникод), windows-1251 (Windows Кириллица), koi8-r (Русская КОИ8), ISO-8859-2 (Западноевропейская ISO-8859-2), ISO-8859-1 (Западноевропейская ISO-8859-1)

UTF-8

export_delim

Символ-разделитель столбцов (; \t TAB COMMA)

;

export_delimline

Символ-разделитель строк

\n

export_delimelem

Символ-разделитель элементов

,

export_mselect

Способ экспорта параметров типа select, radio и др.: id (идентификатор), header (заголовок), all (идентификатор=заголовок)

id

export_elements

Способ экспорта параметров с несколькими элементами: string (одной строкой через разделитель), separate (отдельными колонками), complex (оба варианта)

string

export_images

Способ экспорта параметров типа image: tag (тег img), file (ссылка на файл), alt (поле alt)

tag

export_date

Способ экспорта параметров типа date: normal (по умолчанию), day_time (день время), day (день), time (время)

normal

export_dayformat

Формат для экспорта даты

%d.%m.%Y

export_timeformat

Формат для экспорта времени

%H:%M

export_sequence

Экспортировать колонки в порядке перечисления параметров. В этом случае в ключе export_params можно указывать только имена параметров. Нельзя указывать *, attr, params. (0/1)

0

export_nan

Текст для отсутствующих параметров

NaN

export_limit

Максимальное число дочерних объектов при экспорте формы

9999

export_order

Порядок вывода дочерних объектов при экспорте формы

tree_order

 

Поиск по документации
закрыть 483
открыть 1611
открыть 1200
открыть 1604
открыть 1605
открыть 1606
открыть 1612
открыть 5886
закрыть 2196
Контактная информация
603000, Россия,
г. Нижний Новгород,
ул. Студеная, дом 5,
4-й этаж.
info@graphit.ru

(831) 260–16–32