Тип modulelayout поля формы представляет собой раскрывающийся список всех доступных макетов для модуля, сгруппированных по ядру и шаблону. Если параметр имеет сохраненное значение, это выбирается при первой загрузке страницы. В противном случае выбирается значение по умолчанию (если есть).
- type (обязательно) - должен быть modulelayout.
- name (обязательно) - уникальное имя параметра.
- label (обязательно) (разрешается переводить) - описательный заголовок поля.
- description (необязательно) (разрешается переводить) - это текст, который будет отображаться как всплывающая подсказка, когда пользователь наводит указатель мыши на раскрывающийся список.
Комбинирование следующих атрибутов позволяет предоставить раскрывающийся список макетов конкретного модуля.
- module (необязательно) - это конкретное имя модуля (например, mod_articles_category).
- client_id (необязательно).
- Если 0 (сайт): принудительный поиск макетов только в каталогах /modules/[MODULENAME]/tmpl/ и всех /templates/[TEMPLATENAME]/html/[MODULENAME]/.
- Если 1 (администратор): Заставляет искать макеты только в каталогах /administrator/modules/[MODULENAME]/tmpl/ и всех /administrator/templates/[TEMPLATENAME]/html/[MODULENAME]/.
- template (необязательно) - имя шаблона (например, protostar или isis). Если установлено, принудительно искать замену шаблона модуля только в этом шаблоне.
Пример XML определения
<field name="mymodulelayout" type="modulelayout" label="JFIELD_ALT_LAYOUT_LABEL" description="JFIELD_ALT_MODULE_LAYOUT_DESC" />
Посмотреть все стандартные типы полей формы можно здесь: https://d-nik.site/ru/joomla-4/joomla-dlya-razrabotchikov/standartnye-tipy-polej-formy
Источник: https://docs.joomla.org/Modulelayout_form_field_type
