0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 2147 Просмотров
*

rixter

  • Захожу иногда
  • 93
  • 9 / 0
  • Кто юзал мой писи?
Есть прекрасная возможность от разработчиков - отобразить количество комментариев

Сейчас у меня кол-во комментариев выводится в шаблоне статьи и шаблоне блога категорий. Есть категория в которой комментарии отключены. Как определить этот момент и соответственно не выводить в этой категории кол-во комментариев?

Можно, используя альтернативный макет, переопределить шаблон для такой категории, но что делать с шаблоном статей?
« Последнее редактирование: 13.05.2013, 13:37:47 от smart »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
JCommentsContentPluginHelper::checkCategory($id)
Не будь паразитом, сделай что-нибудь самостоятельно!
*

rixter

  • Захожу иногда
  • 93
  • 9 / 0
  • Кто юзал мой писи?
Спасибо за наводку  *DRINK*

Вот такое решение нашлось
Код
if (JCommentsContentPluginHelper::checkCategory($this->item->catid) && (JCommentsContentPluginHelper::isEnabled($this->item->id, false) || !JCommentsContentPluginHelper::isDisabled($this->item->id, false)))

работает yes!
*

rixter

  • Захожу иногда
  • 93
  • 9 / 0
  • Кто юзал мой писи?
обнаружилась проблемка...
Если в статье, принадлежащей категории в которой разрешены комментарии, отключить их {jcomments off}, то кол-во комментариев все равно выводится.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
А где вы этот код используете? В шаблоне? Я думаю проблема в том, что теги вроде {jcomments off} вырезаются плагином Content - JComments, и на момент проверки их уже нет. Если это так, то попробуйте зайти с другой стороны - я сохраняю результат работы этих функций в текущую копию настроек, поэтому можно проверить вот так:

Код: php
$config = JCommentsFactory::getConfig();
$enabled = $config->get('comments_on', 1) && !$config->get('comments_off', 0);
*

rixter

  • Захожу иногда
  • 93
  • 9 / 0
  • Кто юзал мой писи?
Спасибо, smart, разобрался. Заработало. Может добавите в инструкцию

Вот так у меня

Код
$comments = JPATH_SITE . '/components/com_jcomments/jcomments.php';
if (file_exists($comments)) {
require_once($comments);
$config = JCommentsFactory::getConfig();
if ($config->get('comments_on', 1) && !$config->get('comments_off', 0)) {
$count = JComments::getCommentsCount($this->item->id, 'com_content');
if ($count == 0) {
echo '<a class="tcomment" href="'.JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)).'#comments">'.JText::_('LINK_ADD_COMMENT').'</a>';
} else {
$word = $count%10==1&&$count%100!=11?'комментарий':($count%10>=2&&$count%10<=4&&($count%100<10||$count%100>=20)?'комментария':'комментариев');
echo '<span class="tcomment">'.$count.' '.$word.'</span>';
}
}
}
« Последнее редактирование: 26.07.2013, 13:23:37 от rixter »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Можете заменить:
Код: php
			$word = $count%10==1&&$count%100!=11?'комментарий':($count%10>=2&&$count%10<=4&&($count%100<10||$count%100>=20)?'комментария':'комментариев');
echo '<span class="tcomment">'.$count.' '.$word.'</span>';
на
Код: php
			echo '<span class="tcomment">' . JText::plural('LINK_READ_COMMENTS', $count). '</span>';
*

rixter

  • Захожу иногда
  • 93
  • 9 / 0
  • Кто юзал мой писи?
Отличное решение, спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться