KlenOfSky WEB Agency - создание и тех. поддержка сайтов. Продвижение в Яндекс и Google

Создание сайтов, поисковое продвижение в Google. Сопровождение, тех.поддержка


Звонить: +7 (999)96-88-777
Писать: web@klenovsky.ru


Как вывести количество комментариев в Tickets

Как вывести количество комментариев в Tickets

В компоненте Tickets "из коробки" нет сниппета для подсчета комментариев. Исправляем данную неприятность путем написания собственного сниппета (`ticketsCommentsCount`)

Суть сниппета: произвести запрос к базе данных и подсчитать количество строк в результате работы запроса:

<?php
$q = $modx->newQuery('modResource', $id);
$q->leftJoin('TicketThread','TicketThread', "`TicketThread`.`name` = 'resource-{$id}'");
$q->leftJoin('TicketComment','TicketComment', "`TicketThread`.`id` = `TicketComment`.`thread`");
$q->where(array(
    'TicketComment.published' => 1
));

$q->select('COUNT(`TicketComment`.`id`) as `comments`');

$count = 0;
if ($q->prepare() && $q->stmt->execute()) {
	$count = (integer) $q->stmt->fetch(PDO::FETCH_COLUMN);
}
return $count;

Вызов сниппета на странице/в шаблоне/в чанке:

[[!ticketsCommentsCount:default=`0`? 
  &id=`[[+id]]`
]]

В параметр ID передать идентификатор ресурса, для которого нужно посчитать количество комеентариев.

Большая Семеновская, 42 10509 Россия, город Москва, +7 (999)96-88-777
Рассказать друзьям:

comments powered by Disqus