Не работает сниппет getComments плагина Tickets

Добрый день.
Столкнулся с проблемой следующего характера, в одном шаблоне вызываются одновременно сниппеты 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. Кто-нибудь с таким сталкивался?
Артём
11 ноября 2018, 22:40
modx.pro
1
807
0

Комментарии: 10

snyadanak
11 ноября 2018, 23:03
+1
С Tickets такая непростая ситуация, что, по-моему, легче накидать какой-нибудь простенький сниппет на вывод комментов. Вроде такого:

$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

Опять же, не претендую на звание самого изящного решения, накидал на скорую руку
    snyadanak
    11 ноября 2018, 23:18
    0
    Вернее, плейсхолдеры: name, text
    Параметр: limit
      Артём
      11 ноября 2018, 23:35
      0
      Спасибо, попробую. Думал как-то обойтись без написания своих сниппетов, у меня с этим пока слабо.
      Артём
      12 ноября 2018, 19:14
      0
      Вопрос немного не по теме, но не хочется создавать новый вопрос. Что-то не могу найти, как узнать все поля класса. В частности я хочу средствами xPDO получить в $output ссылку на ресурс, к которому относится данный комментарий. Подскажите, куда копать.
        snyadanak
        12 ноября 2018, 22:16
        +1
        Вот тут замечательные статьи по xPDO. Поля можно увидеть напрямую в БД
          Артём
          13 ноября 2018, 07:57
          0
          Спасибо. Помогло.
          snyadanak
          12 ноября 2018, 22:20
          0
          id ресурсов хранятся в отдельной таблице _tickets_thead, насколько я помню
        Василий Наумкин
        12 ноября 2018, 08:01
        0
        10 последних комментариев ко всем статьям
        Для этого предусмотрен специальный сниппет — TicketLatest.
          Артём
          12 ноября 2018, 08:17
          0
          TicketLatest выводит 1 последний комментарий от каждого тикета. А мне нужно вывести 10 последних комментариев, даже если они все были к одному тикету. Может в тексте вопроса неправильно или непонятно выразился, прошу прощения.
            Артём
            12 ноября 2018, 08:56
            0
            Для моей задачи как раз подходит getComments, но он почему-то не работает с TicketComments на одной странице.
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            10