Введение

Joomla предоставляет широкий выбор типов полей, которые вы можете использовать в своих формах. Исходный код для этих типов полей находится в каталоге libraries/src/Form/Field, и почти все они описаны в Joomla standard form fields . Чтобы использовать один из них в своей форме, вы просто устанавливаете его как type, как в следующем примере:

<?xml version="1.0" encoding="utf-8"?>
<form>
  <field
    name="message"
    type="text"
  />
</form>

Подробные описания стандартных типов полей формы также включают атрибуты, которые вы можете связать с каждым типом полей формы; например, вы можете найти общий набор атрибутов, связанных с обычными полями ввода текста, в тип текстового поля.

Если вы посмотрите на список стандартных типов файлов форм, то увидите, что они делятся на несколько разных категорий:

  1. некоторые относятся к типам полей, которые напрямую соотносятся с HTML-типами элементов ввода (например color, checkbox, number, tel). Есть примеры type=text и type=email сформируйте поля в компоненте-образце.
  2. существует несколько типов полей списка ( list и groupedlist) которые сопоставляются с html <select> элементы
  3. некоторые относятся к объектам, специфичным для Joomla (например, категория, редактор, тег), которые используются в формах Joomla для захвата этих типов объектов.
  4. в sql type позволяет вам ввести SQL-запрос для определения параметров, доступных в HTML <select> элемент
  5. в subform тип предоставляет возможность включать "подчиненную форму", состоящую из группы полей, обычно определенных в отдельном XML-файле. Эта группа элементов может повторяться. Приведен пример subform в компоненте образца

Атрибуты

Многие атрибуты полей в XML-файле определения формы напрямую соответствуют атрибутам полей HTML и не требуют каких-либо дополнительных пояснений. Приведенные ниже описания относятся к атрибутам, значение которых может быть не совсем понятным.

validate - используется для определения применяемой проверки на стороне сервера; смотрите Раздел о проверке на стороне сервера

подсказка - сопоставляется с атрибутом HTML - заполнителя

class - сопоставляется с атрибутом HTML class поля. Используется для определения проверки на стороне клиента, которая должна применяться, в дополнение к обычному использованию CSS

showon - определяет, отображается ли поле в форме, в зависимости от значения другого поля. Например,

<field name="radiofield" type="radio" default="1" >
  <option value="1">No showon</option>
  <option value="2">This must be selected for showon field</option>
</field>
<field name="textfield" type="text" showon="radiofield:2"/>

Текстовое поле отображается, только если для поля радио установлено значение 2. Условие может включать операторов. [AND] или [OR], как показано в примере кода компонента, доступном для загрузки. Вы также можете использовать

  • showon="radiofield!:2" - отображается, если значение radiofield не равно 2
  • showon="somefield!:" - показано , если somefield имеет значение, т. е. Оно не пустое / null.

value - определяет значение поля по умолчанию и отображается в поле как HTML-значение, если только loadFormData в результате обратного вызова устанавливается значение этого поля. Так, например, если форма повторно представляется из-за того, что поле содержит недопустимую запись, то любое предыдущее значение поля, введенное пользователем, будет установлено как значение поля HTML, а не то, что определено в value= атрибут формы XML-файла.

pattern - это регулярное выражение, которое используется при проверке на стороне клиента.

description - до Joomla 4 это было отображено во всплывающей подсказке. Начиная с Joomla 4, это отображается как отдельное поле, которое в серверной части администратора становится видимым / скрытым с помощью кнопки переключения встроенной справки.