Не работает сниппет getComments плагина Tickets
Добрый день.
Столкнулся с проблемой следующего характера, в одном шаблоне вызываются одновременно сниппеты TicketComments и getComments.
Комментарии к статье:
Столкнулся с проблемой следующего характера, в одном шаблоне вызываются одновременно сниппеты TicketComments и getComments.
Комментарии к статье:
[[!TicketComments?
&tplCommentAuth=`commentAuth_ticketsTpl`
&tplCommentGuest=`commentGuest_ticketsTpl`
&tplCommentForm=`commentForm_ticketsTpl`
&tplComments=`commentsWrapper_ticketsTpl`
&tplLoginToComment=`commentLoginToComment_ticketsTpl`
&gravatarSize=`70`
]]
А в боковой панели я хочу вывести, к примеру, 10 последних комментариев ко всем статьям:[[!getComments?
&parents=`10002`
&includeContent=`1`
&limit=`10`
&tpl=`@INLINE <li>
<div>
<header></header>
<p>{{+text:ellipsis=`5`}}
</div>
<figure class="clearfix">
<figcaption>
<span>{{+createdby:userinfo=`fullname`}}</span>
<span>{{+createdon:date=`%d %b %Y`}}</span>
</figcaption>
</figure>
</li>`
]]
Так вот, сниппет getComments выводит десять последних комментариев только если убрать сниппет TicketComments. Кто-нибудь с таким сталкивался?Комментарии: 10
С Tickets такая непростая ситуация, что, по-моему, легче накидать какой-нибудь простенький сниппет на вывод комментов. Вроде такого:
Плейсхолдеры: name, text, limit
Опять же, не претендую на звание самого изящного решения, накидал на скорую руку
$pdo = $modx->getService('pdoFetch');
$comments = $pdo->getCollection('TicketComment',['published' => 1]);
$i = 0;
foreach ($comments as $key => $value) {
$arr = [
'name' => $value['name'],
'text' => $value['text']
];
$i++;
$output .= $pdo->getChunk($tpl, $arr);
if ($i == $limit) {break;}
}
return $output;
Плейсхолдеры: name, text, limit
Опять же, не претендую на звание самого изящного решения, накидал на скорую руку
Вернее, плейсхолдеры: name, text
Параметр: limit
Параметр: limit
Спасибо, попробую. Думал как-то обойтись без написания своих сниппетов, у меня с этим пока слабо.
Вопрос немного не по теме, но не хочется создавать новый вопрос. Что-то не могу найти, как узнать все поля класса. В частности я хочу средствами xPDO получить в $output ссылку на ресурс, к которому относится данный комментарий. Подскажите, куда копать.
Вот тут замечательные статьи по xPDO. Поля можно увидеть напрямую в БД
Спасибо. Помогло.
id ресурсов хранятся в отдельной таблице _tickets_thead, насколько я помню
10 последних комментариев ко всем статьямДля этого предусмотрен специальный сниппет — TicketLatest.
TicketLatest выводит 1 последний комментарий от каждого тикета. А мне нужно вывести 10 последних комментариев, даже если они все были к одному тикету. Может в тексте вопроса неправильно или непонятно выразился, прошу прощения.
Для моей задачи как раз подходит getComments, но он почему-то не работает с TicketComments на одной странице.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.