Динамические опции для выпадающих списков и полей множественного выбора

Полное руководство: Как настроить динамические опции в ChronoForms v8 и v7

Overview

Узнайте, как настроить динамические опции для выпадающих списков и полей множественного выбора в ChronoForms. Руководство охватывает подготовку массива опций с помощью PHP-действия для статических/сложных данных или действия Read Data для опций из базы данных. Объясняется настройка Источника данных, Пути к значению опции и Текста опции, включая обновления для v8.0.47 для работы с одномерными массивами.

Вот как настроить поведение "Динамические опции" для выпадающих списков и полей множественного выбора в ChronoForms v8. Такая же настройка может быть использована для ChronoForms v7.

Начните с подготовки вашего массива опций. Вы можете сделать это, используя:

  1. PHP-действие, если у вас статический или сложный источник данных
  2. Действие Read Data, если ваши опции поступают напрямую из базы данных

Настройки PHP-действия

Динамические опции для выпадающих списков и полей множественного выбора image 1

PHP-действия будут возвращать массив со значениями и текстами опций.

Затем включите поведение "Динамические опции" в вашем выпадающем списке и установите Источник данных как {var:php25}, что в данном случае является возвращаемым значением от PHP-действия с именем "php25" (действие, которое мы только что создали).

Также нам нужно будет установить Путь к значению опции: {row:value} и Текст опции: {row:text}, так как это путь к значениям и текстам в нашем массиве:

Динамические опции для выпадающих списков и полей множественного выбора image 2

Вы можете добавить любые опции по умолчанию в поле "Опции", они появятся перед динамическими опциями.

Настройки Read Data

Динамические опции для выпадающих списков и полей множественного выбора image 3

И настройки "Динамических опций" вашего выпадающего списка изменятся соответствующим образом:

Динамические опции для выпадающих списков и полей множественного выбора image 4

  1. Мы используем результаты действия с именем "read_users" в качестве Источника данных.
  2. Мы используем значение id строки для значения опции. Каждая строка, приходящая из таблицы users, будет иметь значение столбца "id".
  3. Мы используем значение username строки для текста опции. Каждая строка, приходящая из таблицы users, будет иметь значение столбца "username".

Обновление v8.0.47

Если у вас ChronoForms v8.0.47 или новее, вы также можете использовать {row:key} и {row:value}, если ваши значения представляют собой одномерный массив (например, поступающий из JSON-массива в базе данных):

Динамические опции для выпадающих списков и полей множественного выбора image 5

В этом случае {row:key} будет содержать числовой индекс значения, а {row:value} будет содержать само значение.

Comments:

You need to login to be able to post a comment.