Для чего нужен атрибут useglobal в полях форм и как его применять в Joomla 5
В официальной документации есть краткая статья Conditional Field Display Customizing Forms Based on Global Settings, у меня не получилось перевести её дословно, поэтому расскажу своими словами.
Давайте разберёмся что это такое на примере компонента com_contact
. Посмотрим настройки компонента.
(Здесь должна была быть картинка, но в посте она может быть только одна.)
Видим что параметр Contact Category в положении Hide (у вас может быть в другом).
Теперь откроем страницу создания/изменения контакта и перейдём на вкладку Display.

Мы видим что параметр Category имеет первый вариант Use Global (Hide). То есть нам не надо помнить значение из общих настроек компонента, оно перед нами. Если мы изменим его в компоненте, то оно изменится и здесь.
Как это использовать разработчику компонентов
У меня есть простой компонент для экспорта товаров из JoomShopping в XML com_wishboxjshoppingxmlexport
.
Добавлю в настройки компонента поле test_mode
в файле: Root/administrator/components/com_wishboxjshoppingxmlexport/config.xml
<field
name="test_mode"
type="list"
label="COM_WISHBOXJSHOPPINGXMLEXPORT_FIELD_TEST_MODE_LABEL"
default="0"
>
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
И добавлю такое же поле в сущность (item) в файле: Root/administrator/components/com_wishboxjshoppingxmlexport/forms/item.xml
<field
name="test_mode"
type="list"
label="COM_WISHBOXJSHOPPINGXMLEXPORT_FIELD_TEST_MODE_LABEL"
default="0"
>
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
Добавим полю в форме Item атрибут useglobal="true"
<field
name="test_mode"
type="list"
label="COM_WISHBOXJSHOPPINGXMLEXPORT_FIELD_TEST_MODE_LABEL"
default="0"
useglobal="true"
>
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
Готово! На странице создания/изменения Item‑а экспорта у поля test_mode
появилась опция Use Global (Yes). То есть достаточно добавить атрибут useglobal="true"
.
Из каких глобальных настроек берётся значение
из настроек компонента (компонент определяется параметром
option
в URL, кроме редактирования пункта меню, для меню подставляется компонент из ссылки пункта меню);из общих настроек Joomla если не получили из настроек компонента.
В каких типах полей стандартных полей работает этот атрибут
ListField — Добавляется опция Use Global (...);
NumberField — Значение из глобальных настроек отображается как placeholder;
TextField — Placeholder.
А так же во всех полях, которые наследуют одно их вышеперечисленных.