проблема с Jcomments
- kinotrack
- Автор темы
- Не в сети
- Новый участник
- Сообщений: 4
- Спасибо получено: 0
Прочитал вашу статью "Расширенная система комментариев для Joomla" ( wedal.ru/uroki-joomla/joomla-comments-extended-system.html ).
И все сделал, как там написано. Но появилась проблема, когда я установил Jcomments в админпанели появилась надись Your current site template doesn't have afterDisplayContent event! , а на сайте появляется ошибка Notice: Undefined variable: title in /home/kinotrac/kinotrack.com/www/templates/vlue/html/com_content/article/default.php on line 154. (вот строка 154 - $output .= JComments::showComments($_GET, 'com_content', $title).
В своем шаблоне в файле /www/templates/vlue/html/com_content/article/default.php в самом низу я прописал <span class="article_separator"> </span>
<?php echo $this->article->event->afterDisplayContent; ?>, и в админпанели надись Your current site template doesn't have afterDisplayContent event! пропала. А на сайте дальше появляется ошибка Notice: Undefined variable: title in /home/kinotrac/kinotrack.com/www/templates/vlue/html/com_content/article/default.php on line 154. Что и где еще надо прописать чтобы эта ошибка пропала? Может я что-то неверно понял из статьи? Помогите решить эту задачу!
И еще скажите пожалуйста, как сделать чтобы название "Вконтакте", "комментарии" было видно на русском языке и, чтобы как у Вас на рисунке было сразу поле для комментариев, а не просто надпись "Vkontakte" или "Jcomments" которую надо нажимать для коментирования?
Ниже код, который я вставил у /www/templates/vlue/html/com_content/article/default.php:
<?php
$id = JRequest::getInt('id');
//Говорим Joomla, что мы хотим использовать панели
jimport('joomla.html.pane');
$myTabs = & JPane::getInstance('tabs', array('startOffset'=>2));
$output = '';
//Создаем панель для вкладок
$output .= $myTabs->startPane( 'pane' );
//Создаем 1 вкладку
$output .= $myTabs->startPanel( 'Комментарии', 'tab1' );
$output .= JComments::showComments($_GET, 'com_content', $title);
$output .= $myTabs->endPanel();
// Создаем 2 вкладку
$output .= $myTabs->startPanel( 'Vkontakte', 'tab2' );
$output .= '<div id="vk_comments"></div><script type="text/javascript">
VK.Widgets.Comments("vk_comments", {limit: 20, width: "620", height: "50", attach: "*"},'.$id.');
</script>';
$output .= $myTabs->endPanel();
//окончание панели
$output .= $myTabs->endPane();
//Выводим
echo $output;
?>
А это код моего шаблона, может что-то поможет для решения проблемы:
<?php // no direct access
defined('_JEXEC') or die('Restricted access');
$canEdit = ($this->user->authorize('com_content', 'edit', 'content', 'all') || $this->user->authorize('com_content', 'edit', 'content', 'own'));
?>
<?php if ($this->params->get('show_page_title', 1) && $this->params->get('page_title') != $this->article->title) : ?>
<div class="Post">
<div class="Post-body">
<div class="Post-inner">
<h2 class="PostHeaderIcon-wrapper"> <span class="PostHeader">
<?php echo $this->escape($this->params->get('page_title')); ?>
</span>
</h2>
</div>
</div>
</div>
<?php endif; ?>
<?php $metadata = array(); ?>
<div class="Post">
<div class="Post-body">
<div class="Post-inner">
<?php if ($this->params->get('show_title')) : ?>
<h2 class="PostHeaderIcon-wrapper"> <?php if ($this->params->get('show_title')) : ?>
<?php if ($this->params->get('link_titles') && $this->article->readmore_link != '') : ?>
<a href="<?php echo $this->article->readmore_link; ?>" class="PostHeader">
<?php echo $this->escape($this->article->title); ?></a>
<?php else : ?>
<?php echo $this->escape($this->article->title); ?>
<?php endif; ?>
<?php endif; ?>
</h2>
<?php endif; ?>
<div class="PostMetadataHeader">
<div class="PostHeaderIcons metadata-icons">
<?php if ($this->params->get('show_create_date')) : ?>
<?php ob_start(); ?><?php echo JHTML::_('image.site', 'PostDateIcon.png', null, null, null, JText::_("PostDateIcon"), array('width' => '17', 'height' => '18')); ?> <?php echo JHTML::_('date', $this->article->created, JText::_('DATE_FORMAT_LC2')); ?>
<?php $metadata[] = ob_get_clean(); ?>
<?php endif; ?><?php if (($this->params->get('show_author')) && ($this->article->author != "")) : ?>
<?php ob_start(); ?><?php echo JHTML::_('image.site', 'PostAuthorIcon.png', null, null, null, JText::_("PostAuthorIcon"), array('width' => '14', 'height' => '14')); ?> <?php JText::printf('Author: %s', ($this->article->created_by_alias ? $this->article->created_by_alias : $this->article->author) ); ?>
<?php $metadata[] = ob_get_clean(); ?>
<?php endif; ?><?php
if ($this->params->get('show_url') && $this->article->urls)
$metadata[] = '<a href="http://' . $this->item->urls . '" target="_blank">' . $this->item->urls . '</a>';
if (!$this->print) {
$joomlaIcons = array();
if ($this->params->get('show_pdf_icon'))
$joomlaIcons[] = JHTML::_('icon.pdf', $this->article, $this->params, $this->access);
if ( $this->params->get( 'show_print_icon' ))
$joomlaIcons[] = JHTML::_('icon.print_popup', $this->article, $this->params, $this->access);
if ($this->params->get('show_email_icon'))
$joomlaIcons[] = JHTML::_('icon.email', $this->article, $this->params, $this->access);
if ($joomlaIcons != '')
$metadata[] = '<span class="metadata-icons">' . implode(' ', $joomlaIcons) . '</span>';
if ($canEdit)
$metadata[] = JHTML::_('icon.edit', $this->article, $this->params, $this->access);
} else {
$metadata[] = JHTML::_('icon.print_screen', $this->article, $this->params, $this->access, array('class' => 'metadata-icon'));
}
echo implode(' | ', $metadata);
?>
</div>
</div>
<?php if (!$this->params->get('show_intro')) :
echo $this->article->event->afterDisplayTitle;
endif; ?>
<?php echo $this->article->event->beforeDisplayContent; ?>
<?php if (($this->params->get('show_section') && $this->article->sectionid) || ($this->params->get('show_category') && $this->article->catid)) : ?>
<table class="contentpaneopen<?php echo $this->params->get( 'pageclass_sfx' ); ?>">
<tr>
<td>
<?php if ($this->params->get('show_section') && $this->article->sectionid && isset($this->article->section)) : ?>
<span>
<?php if ($this->params->get('link_section')) : ?>
<?php echo '<a href="'.JRoute::_(ContentHelperRoute::getSectionRoute($this->article->sectionid)).'">'; ?>
<?php endif; ?>
<?php echo $this->article->section; ?>
<?php if ($this->params->get('link_section')) : ?>
<?php echo '</a>'; ?>
<?php endif; ?>
<?php if ($this->params->get('show_category')) : ?>
<?php echo ' - '; ?>
<?php endif; ?>
</span>
<?php endif; ?>
<?php if ($this->params->get('show_category') && $this->article->catid) : ?>
<span>
<?php if ($this->params->get('link_category')) : ?>
<?php echo '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->article->catslug, $this->article->sectionid)).'">'; ?>
<?php endif; ?>
<?php echo $this->article->category; ?>
<?php if ($this->params->get('link_category')) : ?>
<?php echo '</a>'; ?>
<?php endif; ?>
</span>
<?php endif; ?>
</td>
</tr>
</table>
<?php endif; ?>
<?php if (isset ($this->article->toc)) : ?>
<?php echo $this->article->toc; ?>
<?php endif; ?>
<div class="article">
<?php echo $this->article->text; ?>
</div>
<?php if ( intval($this->article->modified) !=0 && $this->params->get('show_modify_date')) : ?>
<p class="modifydate">
<?php echo JText::_( 'Last Updated' ); ?> ( <?php echo JHTML::_('date', $this->article->modified, JText::_('DATE_FORMAT_LC2')); ?> )
</p>
<?php endif; ?>
</div>
</div>
</div>
<span class="article_separator"> </span>
<?php echo $this->article->event->afterDisplayContent; ?>
<?php
$id = JRequest::getInt('id');
//Говорим Joomla, что мы хотим использовать панели
jimport('joomla.html.pane');
$myTabs = & JPane::getInstance('tabs', array('startOffset'=>2));
$output = '';
//Создаем панель для вкладок
$output .= $myTabs->startPane( 'pane' );
//Создаем 1 вкладку
$output .= $myTabs->startPanel( 'Комментарии', 'tab1' );
$output .= JComments::showComments($_GET, 'com_content', $title);
$output .= $myTabs->endPanel();
// Создаем 2 вкладку
$output .= $myTabs->startPanel( 'Vkontakte', 'tab2' );
$output .= '<div id="vk_comments"></div><script type="text/javascript">
VK.Widgets.Comments("vk_comments", {limit: 20, width: "620", height: "50", attach: "*"},'.$id.');
</script>';
$output .= $myTabs->endPanel();
//окончание панели
$output .= $myTabs->endPane();
//Выводим
echo $output;
?>
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Wedal
- Не в сети
- Администратор
- Сообщений: 2868
- Спасибо получено: 659
Отключите в глобальной конфигурации Joomla сообщения об ошибках.то и где еще надо прописать чтобы эта ошибка пропала?
Не понял. Т.е. чтобы не было вкладок?И еще скажите пожалуйста, как сделать чтобы название "Вконтакте", "комментарии" было видно на русском языке и, чтобы как у Вас на рисунке было сразу поле для комментариев, а не просто надпись "Vkontakte" или "Jcomments" которую надо нажимать для коментирования?
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- kinotrack
- Автор темы
- Не в сети
- Новый участник
- Сообщений: 4
- Спасибо получено: 0
И еще не работает Jcomments: когда добавил новый коментарий посл перезагрузки страници он прпадает.
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- kinotrack
- Автор темы
- Не в сети
- Новый участник
- Сообщений: 4
- Спасибо получено: 0
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Wedal
- Не в сети
- Администратор
- Сообщений: 2868
- Спасибо получено: 659
Пересохраните файл в кодировке UTF8 без BOM.нет. у меня шаблон не воспринимает русский язык. название вкладок надо писать на аглийском, если на русском - появляются какме-то ромбики вместо букв.
В Jcomments ищите в настройках, в Вконтакте - в настройках на их сайте.как сделать так, чтобы название "Вконтакте", "комментарии" находились над формой добавления нового коментария?
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.