Тип list поля формы представляет собой раскрывающийся список или список пользовательских записей. Если в поле есть сохраненное значение, оно выбирается при первой загрузке страницы. В противном случае выбирается значение по умолчанию (если есть).
- type (обязательно) - должен быть list.
- name (обязательно) - уникальное имя поля.
- label (обязательно) (разрешается переводить) - описательный заголовок поля.
- default (необязательно) - значение элемента списка по умолчанию.
- description (необязательно) (разрешается переводить) - это текст, который будет отображаться как всплывающая подсказка, когда пользователь наводит указатель мыши на раскрывающийся список.
- class (необязательно) - это имя класса CSS для поля формы HTML. Если этот параметр не указан, по умолчанию используется «inputbox».
- multiple (необязательно) - можно ли выбрать несколько элементов одновременно (true или false).
- required (необязательный) - если установлено значение true, первая опция поля должна быть пустой, см. последний пример.
- useglobal (необязательно) - если задано значение true, будет отображаться значение, установленное в глобальной конфигурации, если оно найдено в базе данных.
Элемент XML <field> должен включать один или несколько элементов <option>, которые определяют элементы списка. Текст между тегами <option> и </option> - это то, что будет отображаться в раскрывающемся списке и является переводимой строкой. Тег <option> принимает следующий аргумент:
- value (обязательно) - это значение, которое будет сохранено для поля, если этот элемент выбран.
- requires (необязательно) Значения: мультиязычность, можно использовать ассоциации и админязык.
Совет 1: Не забудьте закрыть определение поля с помощью </field>.
Совет 2: Сначала добавьте параметр без значения с текстом типа «Выберите вариант». В противном случае, в случае обязательного поля, первый вариант со значением выбирается автоматически (т.е. без его выбора пользователем). Этот текст обычно виден пользователям до того, как они щелкнуть по раскрывающемуся списку.
Совет 3: Некоторые значения для поля name зарезервированы, поэтому не используйте их во избежание проблем. Одино из них style.
Пример XML определения
<field name="mylistvalue" type="list" default="" label="Select an option" description="">
<option value="0">Option 1</option>
<option value="1">Option 2</option>
</field>
Пример XML определения с обязательным значением поля:
<field name="mylistvalue" type="list" default="" required="true" label="Select an option" description="">
<option value="">Please Select</option>
<option value="0">Option 1</option>
<option value="1">Option 2</option>
</field>
Атрибут showon для параметров списка
Начиная с Joomla 3.9.0, можно использовать атрибут showon для тегов параметров в поле списка.
См. Документацию Showon.
Пример XML определения для двух полей списка
В данном примере определяются два поля списков: fielda и fieldb, где отображаемые параметры fieldb управляются выбором в fielda.
<field
name="fielda"
type="list"
label="FIELDA_LABEL"
description="FIELDA_DESC"
>
<option value="editor">TYPE_EDITOR</option>
<option value="text">TYPE_TEXT</option>
<option value="textarea">TYPE_TEXTAREA</option>
</field>
<field
name="fieldb"
type="list"
label="FIELDB_LABEL"
description="FIELDB_DESC"
>
<option value="0">JNO</option>
<option value="1">Option 1</option>
<option
showon="fielda:text,textarea"
value="2">Option 2</option>
<option
showon="fielda:text"
value="3">Option 3</option>
</field>
- Option 3 поля b отображается только в том случае, если в поле а выбрана опция «TYPE_TEXT».
- Option 2 поля b отображается только в том случае, если в поле а выбрана опция «TYPE_TEXT» или «TYPE_TEXTAREA».
- Option 1 и JNO поля fieldb всегда отображается.
Посмотреть все стандартные типы полей формы можно здесь: https://d-nik.site/ru/joomla-4/joomla-dlya-razrabotchikov/standartnye-tipy-polej-formy
