Вывод модуля в произвольном месте

    $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

И еще в плагине Контент - Загрузка модулей (который должен быть включен).