Потребовалось мне вывести в плагине вид и содержимое одного из компонентов. Решил думать как это сделать правильно - не дублировать код и соответственно вызвать непосредственно сам компонент.

У меня выводилась форма заявки тура, сделанная в виде отдельного компонента.

Сам для своих целей отталкивался от примера, котороый и привожу.
 

// Путь к компоненту users
$com = JPATH_SITE.DS.'components'.DS.'com_users';

// Получить/настроить контроллер users
if (!class_exists('UsersController')) require($com.DS.'controller.php');
$config['base_path'] = $com;
$cont = new UsersController($config);

// Получить представление и добавить правильный путь к шаблону
$view =& $cont->getView('registration', 'html');
$view->addTemplatePath($com.DS.'views'.DS.'registration'.DS.'tmpl');

// Установить, какое представление отображать, и добавить соответствующие пути
JRequest::setVar('view', 'registration');
JForm::addFormPath($com.DS.'models'.DS.'forms');
JForm::addFieldPath($com.DS.'models'.DS.'fields');

// Загрузить языковой файл
$lang =& JFactory::getLanguage();
$lang->load('com_users', JPATH_SITE);

// И, наконец, визуализировать вид!
$cont->display();

 

Работает в joomla 3.1.5.

 

 Вывод на странице содержимого другой страницы

Для начала надо создать подшаблон для вывода ajax контента, как описано тут: "Вызов шаблона component.php", далее берёте ссылку на ваш пункт меню, добавляете к ней параметр &tmpl=ajax, а так же остальные необходимые параметры и загружаете её с помощью функции file_get_contents. Примерно так:

echo file_get_contents(JURI::root()."content.html?tmpl=ajax&id=$id");