Тип поля формы list предоставляет выпадающий список или поле со списком из заданных пользователем записей. Если поле имеет сохраненное значение, оно выбирается при первой загрузке страницы. Если нет, то выбирается значение по умолчанию (если оно есть).

Params.list.jpg
  • 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 (необязательно) Значения: можно использовать мультиязычность, ассоциации и язык администратора.

Совет: Не забудьте закрыть определение поля с помощью </field>.
Совет: Сначала добавьте опцию без значения с текстом типа "Выберите опцию". В противном случае, в случае обязательного поля, первый вариант со значением выбирается молча (т.е. без выбора пользователем). Этот текст, как правило, будет виден пользователям до нажатия на выпадающий список.
Совет: Некоторые значения для "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 для тегов option в поле списка.

Пример 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" fieldb отображается только в том случае, если опция "TYPE_TEXT" выбирается в  fielda.
  • "Option 2" fieldb отображается только в том случае, если опция "TYPE_TEXT" ИЛИ "TYPE_TEXTAREA" выбирается в fielda.
  • "Option 1" и "JNO" fieldb отображается всегда.