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

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

В основном параметры конфигурации такие же, как и у поля списка, однако значения для поля создаются переменной класса predefinedOptions параметров. Таким образом, следующие переменные имеют то же значение, что и поле списка:

  • type (обязательный) - должен быть PredefinedList.
  • name (обязательно) - уникальное имя поля.
  • label (обязательно) (разрешается переводить) - описательный заголовок поля.
  • default (необязательно) - значение элемента списка по умолчанию.
  • description (необязательно) (разрешается переводить) - это текст, который будет отображаться как всплывающая подсказка, когда пользователь наводит указатель мыши на раскрывающийся список.
  • class (необязательно) - это имя класса CSS для поля формы HTML. Если этот параметр не указан, по умолчанию используется inputbox.
  • multiple (необязательно) - можно ли выбрать несколько элементов одновременно (true или false).
  • required (необязательный) - если установлено значение true, первая опция поля должна быть пустой, см. последний пример.
  • useglobal (необязательно) - если задано значение true, будет отображаться значение, установленное в глобальной конфигурации, если оно найдено в базе данных.

Пример XML определения

<field name="mylistvalue" type="Myextension.Mycustompredefinedlist" default="" label="Select an option" description="">
</field>

это будет сопровождаться вашим полем, определенным в PHP, которое будет выглядеть так:

class MyextensionFormFieldMycustompredefinedlist extends JFormFieldPredefinedList
{
	public $type = 'Mycustompredefinedlist';

	protected $predefinedOptions = array(
		'1'  => 'COM_FOO_LABEL_FOR_TRANSLATION',
		'0'  => 'COM_FOO_ANOTHER_LABEL_FOR_TRANSLATION',
	);
}

Кроме того, в PHP вы можете установить для переменной класса translate значение false, что приведет к тому, что значения вашей предопределенной опции не будут проходить через JText для перевода до того, как будут показаны пользователю.

Посмотреть все стандартные типы полей формы можно здесь: https://d-nik.site/ru/joomla-4/joomla-dlya-razrabotchikov/standartnye-tipy-polej-formy

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

Main Menu