Вывод модуля в произвольном месте
$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
И еще в плагине Контент - Загрузка модулей (который должен быть включен).