Совет по Joomla: использование методов плагинов в любом месте Joomla 4 / Joomla 5.
Нередко расширения Joomla в готовом виде состоят из пакета - комплекта плагинов, модулей, библиотек. Расширения из одного пакета могут нуждаться в одном и том же методе. В Joomla 4 и старше новая (хм-м, 2 года уже прошло...) архитектура плагинов позволяет обращаться к методам плагина откуда угодно, что может стать удобным решением задачи.

Такой подход можно использовать везде: в компонентах, плагинах, библиотеках, модулях и т.д. Например, если в настройках компонента можно переключить источник данных - плагин-провайдер, то один путь - триггерить событие для группы этих плагинов. А можно вызвать нужный метод напрямую.
<?php use Joomla\CMS\Factory; use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Plugin\PluginHelper; // Получим параметры компонента $component_params = ComponentHelper::getParams('com_mycomponent'); // Получим имя плагина-провайдера $plugin_name = $component_params->get('data_provider'); // Проверим, а включён ли плагин? if(PluginHelper::isEnabled('system', $plugin_name)) { // Загрузим плагин $plugin_provider = Factory::getApplication()->bootPlugin($plugin_name, 'system'); // Получим данные из него напрямую $external_data = $plugin_provider->getExternalData($any_id); }
