Тип 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/joomla-4/joomla-dlia-rozrobnykiv/standartni-tipi-poliv-formi
Джерело: https://docs.joomla.org/Modulelayout_form_field_type
