Добавить в корзинуПозвонить
Найти в Дзене
Хроники Веба

Frontend Code-Form Builder (FCFB) - типы полей

Документация по использованию простых полей типа text, email и .д. в плагине Frontend Code-Form Builder. По остальным полям будут созданы отдельные посты с документацией. Общие настройки полей опишу только для одного поля "text", вы можете применять их и для других полей. Даны все возможные настройки для этого поля. Все настройки этого поля применимы к большинству других полей плагина. [ //Тип поля (обязательное) 'type' => 'text', //Имя поля, латинские буквы или цифры, нижнее подчеркивание или тире, обязательное поле 'id' => 'name', //Подсказка 'placeholder' => 'Укажите название', //Минимальная длина поля, используется при клиентской валидации 'min' => 5, //Максимальная длина поля, используется при клиентской валидации 'max' => 200, //Значение поля по умолчанию 'def' => 'Детская игрушка Мишка', //стиль отображения, по умолчанию 1. /* Варианты отображения поля: 1 - название поля сверху, required слева от названия, tooltip справа сразу после названия. 2 - название поля слева, required с
Оглавление

Документация по использованию простых полей типа text, email и .д. в плагине Frontend Code-Form Builder. По остальным полям будут созданы отдельные посты с документацией.

-2
-3

Общие настройки полей опишу только для одного поля "text", вы можете применять их и для других полей.

Тип поля text

Даны все возможные настройки для этого поля. Все настройки этого поля применимы к большинству других полей плагина.

[
//Тип поля (обязательное)
'type' => 'text',
//Имя поля, латинские буквы или цифры, нижнее подчеркивание или тире, обязательное поле
'id' => 'name',
//Подсказка
'placeholder' => 'Укажите название',
//Минимальная длина поля, используется при клиентской валидации
'min' => 5,
//Максимальная длина поля, используется при клиентской валидации
'max' => 200,
//Значение поля по умолчанию
'def' => 'Детская игрушка Мишка',
//стиль отображения, по умолчанию 1.
/*
Варианты отображения поля:
1 - название поля сверху, required слева от названия, tooltip справа сразу после названия.
2 - название поля слева, required слева от названия, tooltip справа сразу после названия. На мобильном переход в стиль 1. тоесть название сверху.
3 - без названия и без отступа, required - слева от поля, tooltip - нет
4 - название поля сверху, при этом самого названия нет, но остается отступ сверху, required - слева от поля, tooltip - нет/
5 - анимация перехода placeholder в label для однострочных полей типа text, select, ....
*/
'sw' => 1,
//Ширина внутреннего контейнера поля, по умолчанию 100%.
'wi' => '100%',
//Ширина внешнего контейнера поля или контейнера, по умолчанию 60%
'ww' => '55%',
//название поля
'label' => 'Название',
//Обязательное поле
'required' => true,
//Принудительный перенос сверху. По умолчанию все поля выстраиваются в горизонтальную линию друг за другом, чтобы сделать перенос, используйте эту настройку.
'tb' => true,
//Принудительный перенос снизу. Аналогично настройке выше.
'bb' => true,
//Произвольный класс внешнего контейнера поля
'class' => 'class-name',
//Текст всплывающей подсказки. Для использования в конфиге нужно подключить скрипт tooltip.
'tooltip' => 'Текст всплывающей подсказки',
//Текст подсказки под полем
'help' => 'Текст подсказки под полем',
//Текст до поля
'before' => 'Текст до',
//Текст после поля
'after' => 'Текст после',
//Не сбрасывать поле в случае сброса/восстановления исходного состояния всей формы. true или false. Работает совместно с настройкой формы reset_template.
'no_reset' => false,
//Массив произвольных атрибутов для внешнего контейнера поля
'attributes_wrapper' => [],
//Кнопка открыть закрыть поле. актуально только для настройки "sw" со значением "1".
/*
Если не указано - кнопки нет и поле всегда открытое
1 - поле изначально открытое, при перезагрузке состояние сохраняется в куках. при перезагрузке состояние сохраняется если есть заполненные поля
2 - поле изначально скрытое, при перезагрузке состояние сохраняется в куках. при перезагрузке состояние сохраняется если есть заполненные поля
3 - поле изначально открытое, при перезагрузке состояние сохраняется в куках. при перезагрузке поле всегда открывается если есть заполненные поля
4 - поле изначально скрытое, при перезагрузке состояние сохраняется в куках. при перезагрузке поле всегда открывается если есть заполненные поля
во всех случаях поле будет открытое если в момент отправки формы есть ошибки заполнения
*/
'slide' =>1,
//Дополнительная настройка для "slide". Сколько дней сохранить состояние поля (свернуто/развернуто), 0 - не сохранять и cookie не устанавливаются. По умолчанию отключено.
//Имена cookie: fcfb_slide_*
'remember_state' => 30,
//Условная логика. Варианты действий: показать/скрыть, отключить/включить, запретить редактировать/разрешить, обязательное поле/не обязательное, произвольное действие. (hide, disabled, readonly, required, addaction).
'conditions' => [],
//Копировать текст поля
'copy' => true,
//Очистить текст поля
'clear' => true
]

textarea - многострочный текст

Для этого поля применимы все те же настройки, как и для поля text. Далее будут описаны только специальные для этого поля настройки.

[
'type' => 'textarea',
'id' => 'desc',
'label' => 'Описание товара',
'ww' => '100',
//Высота поля в строках
'rows' => 10
]

email

Принимает точно такие же настройки как и поле text.

[
'type' => 'email',
'id' => 'email',
'label' => 'E-mail компании',
]

password

[
'type' => 'password',
'id' => 'password',
'label' => 'Пароль',
//Минимальная длина пароля. По умолчанию 6
'min' => 5,
//Максимальная длина пароля. По умолчанию 15
'max' => 10,
//символы в пароле
'charset' => '@#$&*()_+-=,./?abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789',
]

number - число с кнопками + и -

[
'type' => 'number',
'id' => 'number',
'label' => 'Количество товаров',
//Включить или отключить кнопки +-
'control' => true,
//Минимальное число
'min' => 5,
//Максимальная число
'max' => 10,
//Шаг
'step' => 1,
]

color

Для работы этого поля, в конфиге формы необходимо подключить скрипт 'vanilla-picker'.

[
'type' => 'color',
'id' => 'color',
'label' => 'Цвет товара',
]

hidden - скрытое поле

[
'type' => 'hidden',
'id' => 'hidden',
//Значение поля
'value' => 'значение',
]

url

[
'type' => 'url',
'id' => 'site',
'placeholder' => 'https:// ',
'label' => 'Сайт компании',
]

checkbox

[
'type' => 'checkbox',
'label' => 'Согласен с условиями',
'id' => 'agreement',
//Текст после чекбокса
'after' => 'Да',
]

Тип поля toggle - чекбокс в виде переключателя

[
'type' => 'toggle',
'label' => 'Согласен с условиями',
'id' => 'agreement2',
//Текст после чекбокса
'after' => 'Да',
]



submit - кнопка отправки формы

[
'type' => 'submit',
'id' => 'submit',
//Текст на кнопке
'name' => 'Отправить',
//Текст ожидания при отправке формы
'wait' => 'Подождите...',
]

reset - очистка формы

Для работоспособности этой кнопки в  настройках формы необходимо указать reset_template = true

[
'type' => 'reset',
'id' => 'reset',
//Текст на кнопке
'name' => 'Очистить форму',
]

range - одиночный ползунок

[
'type' => 'range',
'id' => 'price',
'label' => 'Цена',
//кнопка очистки поля
'clear' => true,
//Минимальное значение
'min' => 0,
//Максимальное значение
'max' => 100,
//склонение числительных. массив ['рубль','рубля','рублей']
'unit' => ['рубль', 'рубля', 'рублей'],
//когда вызвать событие change. По умолчанию когда отпустили мышку.
'change' => 'mouseup', //mousemove - при перемещении, mouseup - по завершению перетаскивания
//бесконечность. если указать число, то при установке ползунка больше чем максимум в value будет это значения, а названии поля символ бесконечности
'infinity' => 101,
//шаг
'step' => 1,
//исключить указанные числа в массиве (например в диапазоне от 0 до 10 исключить 4 и 7)
'exclude' => [2, 3],
]

ranges - двойной ползунок для установки диапазона

[
'type' => 'ranges',
'id' => 'rarges',
'label' => 'Диапазон',
'min' => 0,
'max' => 100,
]

wp_editor - классический редактор текста с загрузкой картинок

[
'type' => 'wp_editor',
'id' => 'editor',
'label' => 'Редактор текста',
'ww' => '100%',
'rows' => 5,
// Управляющие флаги
'media_buttons' => true,
// Явный флаг wpautop (влияет и на PHP-форматирование, и на TinyMCE)
'wpautop' => true,
// TinyMCE (дефолт), синхронизируем wpautop
'tinymce' => [
'wpautop' => 'wpautop',
'toolbar1' => 'formatselect,bold,italic,bullist,numlist,code,blockquote,alignleft,aligncenter,alignright,link,unlink,spellchecker',
'toolbar2' => 'strikethrough,hr,forecolor,removeformat,charmap,outdent,indent,undo,redo',
'menubar' => false,
'statusbar' => true,
'resize' => true,
'elementpath' => true,
],
// Quicktags
'quicktags' => [
'buttons' => 'strong,em,link,block,del,ins,img,ul,ol,li,code',
],
]

html - произвольный контент

[
'type' => 'html',
'id' => 'content',
//Тип форматирования. Варианты: safe_formatted/safe_raw/the_content
'render_mode' => 'render_mode',
'html' => 'html код',
]

rating - рейтинг звездами

Также можно указать свои иконки

[
'type' => 'rating',
'id' => 'rating',
'label' => 'Рейтинг',
//Максимальная оценка
'max' => 5,
// Иконка
'icon' => '★',
]

multirating - множественный рейтинг по параметрам

[
'type' => 'multirating',
'id' => 'multirating',
'label' => 'Рейтинг по параметрам',
//Максимальная оценка
'max' => 5,
// Иконка
'icon' => '★',
// Критерии оценки
'criteria' => [
[
'name' => 'Скорость',
'slug' => 'speed',
'icon' => '★',
'max' => '10',
],
[
'name' => 'Качество',
'slug' => 'quality',
'icon' => '✓',
'max' => '2',
],
[
'name' => 'Надежность',
'slug' => 'reliability',
'icon' => '•',
'max' => '5',
],
],
]

math_captcha - математическая каптча

[
'type' => 'math_captcha',
'id' => 'code',
'label' => 'Ответ на вопрос',
//Сложность
'difficulty' => 'medium', // easy, medium, hard
]