Тип list поля формы Joomla

listТип 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

Источник: https://docs.joomla.org/List_form_field_type

Main Menu