Tickets и mFilter2

Всем здравствуйте! Возникла необходимость фильтровать тикеты по наличию/отсутствию комментариев.
Вариант 1
[[!mFilter2?
&tpl=`tpl.Tickets.list.myrow`
&hideContainers=`true`
&element=`mSearch2`
]]
Данный вариант работает, но не подключает таблицы, которые подцепляются join'ом. Вследствие чего, тикеты выводятся как обычные ресурсы, без дополнительной информации о пользователе, комментариях, рейтинга и т.д.

Вариант 2.
[[!mFilter2?
&tpl=`tpl.Tickets.list.myrow`
&hideContainers=`true`
&element=`getTickets`
]]
2 вариант работает, но любые фильтры отказываются работать.

Задача минимум: фильтровать тикеты по наличию/отсутствию комментариев
Задача максимум: фильтровать по любым значениям, которые есть в конечном выводе тикетов. (рейтинг, пользователь, количество комментариев). (хотя наверное если решу минимум, то остальное можно сделать по аналогии)

Коллеги, куда копать? Можно ли сделать это всё стандартными средствами mfilter2?
Заранее спасибо за помощь!
Дмитрий Куликов
29 марта 2014, 20:54
modx.pro
1
2 429
0

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

Дмитрий Куликов
30 марта 2014, 19:42
0
Вообщем показываю как частично решил задачу минимум:
Написал снипет который возвращает через запятую id Тикетов, у которых нет комментариев
$q = $modx->newQuery('TicketThread');

$q->where(array(
    'comments' => 0
));

$q->select(array(
    'resource'
));

$q->prepare();
 
$q->stmt->execute();

$result = $q->stmt->fetchAll(PDO::FETCH_ASSOC);

foreach($result as $r1){
    foreach($r1 as $r2){
        $nocomments .= $r2.','; 
    }
}
return trim($nocomments, ",");
Этот снипет подставляю сюда:
[[!mFilter2?
    &tpl=`tpl.Tickets.list.myrow`
    &parents=`428`
    &resources=`[[getNoComments]]`
    &hideContainers=`true`
    &element=`mSearch2`
    &filters=`
        parent:categories
    `
]]
Решение понятно не изящное, но по-другому я пока не смог.
    Василий Наумкин
    31 марта 2014, 00:09
    +1
    Обнови pdoTools и Tickets из репозитория Simple Dream.
    После этого нормально должен работать параметр &returnIds у getTickets, и как следствие — он задружит с mFilter2.

    Ну а дальше нужно расширить класс фильтрации и добавить свой метод фильтрации по комментариям.
      Дмитрий Куликов
      15 июля 2014, 09:48
      0
      Этот вопрос задавал я, а тут написано что Соловьев Антон( Странно
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4