Интересно почитать… Блог в котором есть много интересной информации…

20 сентября 2011

Добавляем комментарии ВКонтакте для Joomla 1.5.23

Категория: программирование — dmitriano @ 17:09

Генерируем код

Открываем страницу Виджет для комментариев в контакте и генерируем код для виджета. В этом коде 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.');

Теперь думаем, как этот код добавить в Joomla

В файле 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.

Линии 3D/Шарики 3D

Комментариев нет »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

SlogPost.ru