Вывод модуля в произвольном месте
$doc = JFactory::getDocument();
$renderer = $doc->loadRenderer('modules');
$options = array('style' => 'raw');
$position = 'extsearch';
echo $renderer->render($position, $options, null);
То же самое в одну строку:
echo JFactory::getDocument()->loadRenderer('modules')->render('name-of-module-position', array('style' => 'raw'), null);
Более интересный способ - использование обработчика события onContentPrepare:
echo JHTML::_('content.prepare', '{ loadposition mainmenu}');
use Joomla\CMS\HTML\HTMLHelper;
echo HTMLHelper::_('content.prepare', '{ loadposition mainmenu,none}');
echo JHTML::_('content.prepare', '{ loadmodule mod_custom, Заголовок модуля}');
echo JHTML::_('content.prepare', '{ loadmoduleid 123}');
После открывающей фигурной скобки пробел следует удалить!
Описание лежит здесь: /libraries/joomla/html/html/content.php
И еще в плагине Контент - Загрузка модулей (который должен быть включен).
