проблема с Jcomments

6 года 2 мес. назад - 6 года 2 мес. назад #1904 от kinotrack
Здраствуйте!
Прочитал вашу статью "Расширенная система комментариев для 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;

?>

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 2 мес. назад #1908 от Wedal
kinotrack,

то и где еще надо прописать чтобы эта ошибка пропала?

Отключите в глобальной конфигурации Joomla сообщения об ошибках.

И еще скажите пожалуйста, как сделать чтобы название "Вконтакте", "комментарии" было видно на русском языке и, чтобы как у Вас на рисунке было сразу поле для комментариев, а не просто надпись "Vkontakte" или "Jcomments" которую надо нажимать для коментирования?

Не понял. Т.е. чтобы не было вкладок?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 2 мес. назад #1910 от kinotrack
нет. у меня шаблон не воспринимает русский язык. название вкладок надо писать на аглийском, если на русском - появляются какме-то ромбики вместо букв.:(
И еще не работает Jcomments: когда добавил новый коментарий посл перезагрузки страници он прпадает.:(

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 2 мес. назад #1916 от kinotrack
У меня название "Вконтакте", "комментарии" находится под формой добавления нового коментария ( kinotrack.com/cartoons/1330-fantastic-mr-fox.html ). как сделать так, чтобы название "Вконтакте", "комментарии" находились над формой добавления нового коментария?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 2 мес. назад #1920 от Wedal

нет. у меня шаблон не воспринимает русский язык. название вкладок надо писать на аглийском, если на русском - появляются какме-то ромбики вместо букв.

Пересохраните файл в кодировке UTF8 без BOM.

как сделать так, чтобы название "Вконтакте", "комментарии" находились над формой добавления нового коментария?

В Jcomments ищите в настройках, в Вконтакте - в настройках на их сайте.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.


Вверх