Блог в котором есть много интересной информации…
Открываем страницу Виджет для комментариев в контакте и генерируем код для виджета. В этом коде API_ID ваш id в контакте. Затем смотрим Документацию о виджете комментариев и добавляем в код дополнительные параметры, из которых page_id может быть полезен для более правильной идентификации материала в Joomla. Использовать page_id можно так:
$id = JRequest::getInt('id');
и добавляем этот page_id в код виджета:
VK.Widgets.Comments("vk_comments", {limit: 20, width: "450", attach: "*"},'.$id.');
В файле templates\Ваш_Шаблон\html\com_content\article\default.php сидит вот такая штука:
echo $this->article->event->afterDisplayContent;
именно этой штукой пользуются известный плагин JComments и другие плагины, которые выводят что-либо под материалом:
function onAfterDisplayContent(&$article, &$params, $limitstart = 0)
{
if ($this->params->get('show_comments_event', 'onAfterDisplayContent') == 'onAfterDisplayContent') {
require_once (JCOMMENTS_HELPERS.DS.'content.php');
$application = &JFactory::getApplication('site');
$view = JRequest::getCmd('view');
// check whether plugin has been unpublished
if (!JPluginHelper::isEnabled('content', 'jcomments')
|| ($view != 'article')
|| $params->get('intro_only')
|| $params->get('popup')
|| JRequest::getBool('fullview')
|| JRequest::getVar('print')) {
JCommentsContentPluginHelper::clear($article, true);
return '';
}
require_once (JCOMMENTS_BASE.DS.'jcomments.php');
$config = & JCommentsFactory::getConfig();
$isEnabled = ($config->getInt('comments_on', 0) == 1) && ($config->getInt('comments_off', 0) == 0);
if ($isEnabled && $view == 'article') {
JCommentsContentPluginHelper::clear($article, true);
return JComments::show($article->id, 'com_content', $article->title);
}
}
return '';
}
В статье Creating a content plugin об этом можно прочитать подробнее.
Недостатком такого метода является то, что тут не очень понятно как добавить скрипт в <head>, поэтому может быть лучше использовать событие OnPrepareContent.