Модуль внутри другого модуля можно вывести добавив позицию модуля в шаблон разметки определенного модуля.
Для этого нам необходимо добавить код в файл разметки шаблона этого модуля - default.php.
Данный файл расположен в папке:
папка с сайтом/templates/название_шаблона/html/mod_menu.
Если там его нет, то его нужно искать в следующем месте:
папка с сайтом/
modules/mod_menu/tmpl.
Открываем данный файл, например, редактором Notepad2 и в самом низу добавляем следующий код:
<?php
$document = &JFactory::getDocument();
$renderer = $document->loadRenderer('modules');
$options = array('style' => 'xhtml');
$position = 'позиция';
echo $renderer->render($position, $options, null);
?>
Вместо слова "
позиция" укажите свою позицию модуля, например, (top, user1 и т. д.)
Также можно вывести модуль по его ID. Найти ID модуля можно в менеджере модулей в последней колонке таблицы, напротив необходимого вам модуля.
Для вывода модуля по ID можно использовать следующий код:
<?php
$document = &JFactory::getDocument();
$renderer = $document->loadRenderer('module');
$options = array('style' => 'raw');
$dbo = JFactory::getDBO();
$dbo->setQuery("SELECT * FROM #__modules WHERE id='укажите_ID'");
$module = $dbo->loadObject();
$module->params = "heading=2\nlimit=10";
echo $renderer->render($module, $options);
?>
Только не забудьте заменить слова "
укажите_ID", на ID модуля.