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?
Заранее спасибо за помощь!
Вариант 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?
Заранее спасибо за помощь!
Комментарии: 4
Вообщем показываю как частично решил задачу минимум:
Написал снипет который возвращает через запятую id Тикетов, у которых нет комментариев
Написал снипет который возвращает через запятую 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
`
]]
Решение понятно не изящное, но по-другому я пока не смог.
Обнови pdoTools и Tickets из репозитория Simple Dream.
После этого нормально должен работать параметр &returnIds у getTickets, и как следствие — он задружит с mFilter2.
Ну а дальше нужно расширить класс фильтрации и добавить свой метод фильтрации по комментариям.
После этого нормально должен работать параметр &returnIds у getTickets, и как следствие — он задружит с mFilter2.
Ну а дальше нужно расширить класс фильтрации и добавить свой метод фильтрации по комментариям.
Этот вопрос задавал я, а тут написано что Соловьев Антон( Странно
Побилось кое-что при переносе с bezumkin.ru, поправил.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.