mFilter2 + TicketLatest = не выводит tv-поля
Пытаюсь сделать фильтрацию тикетов, но у меня никак не выводятся нужные фильтры.
Перепробовал уже всё что мог.
Или mFilter2 не работает с Tickets?
У меня всё время выводит "Нечего фильтровать" вместо вывода фильтра.
Вот код вызова:
P.S. К тому же ещё вопрос не по теме, но который я решил костылём: в mFilter2 можно вызывать другие pdo-сниппеты, например pdoCrumbs?
У меня не получилось, т.к. в pdoCrumbs подставляется &tpl-ка фильтра и получается каша. Решил костыльно: просто вставил конструкцию крошек и вывел значения через pdoParser…
Перепробовал уже всё что мог.
Или mFilter2 не работает с Tickets?
У меня всё время выводит "Нечего фильтровать" вместо вывода фильтра.
Вот код вызова:
[[!mFilter2?
&element=`TicketLatest`
&action=`tickets`
&tpl=`tpl.blog-item`
&includeTVs=`image,category,tags`
&limit=`5`
&sortby=`publishedon`
&parents=`0`
&where=`{"parent":[[*id]]}` // Пришлось использовать &where, а то &parents не срабатывал
&filters=`
tv|category
`
&aliases=`
tv|category==category
`
&tplOuter=`tpl.mFilter2.outer.new`
&tplFilter.outer.default=`tpl.mFilter2.filter.outer`
&tplFilter.row.default=`tpl.mFilter2.filter.checkbox`
&tplFilter.outer.tv|category=`tpl.mFilter2.filter.outer.category`
&tplFilter.row.tv|category=`tpl.mFilter2.filter.radio.category`
&showLog=`0`
]]
Вывод &showLog=`1` не буду приводить здесь, потому что там почему-то выводится каша какая-то, которая в <pre >< /pre> вставляет и выводит ещё один или 2 вывода ресурсов с правильно оформленными чанками…P.S. К тому же ещё вопрос не по теме, но который я решил костылём: в mFilter2 можно вызывать другие pdo-сниппеты, например pdoCrumbs?
У меня не получилось, т.к. в pdoCrumbs подставляется &tpl-ка фильтра и получается каша. Решил костыльно: просто вставил конструкцию крошек и вывел значения через pdoParser…
Поблагодарить автора
Отправить деньги
Комментарии: 9
mFilter2 не может работать со всеми сниппетами на свете. Они должны, как минимум, иметь параметр &returnIds=`1`, при включении которого будет возвращен список подходящих id ресурсов.
Ну и я вообще не понимаю, как именно могут фильтроваться результаты сниппетов TicketLatest (смысл которого выводить последние тикеты или комменты, в порядке их появления) или pdoCrumbs (который выводит хлебные крошки в строго определённом порядке).
На мой взгляд, если возникают подобные идеи — на сайте что-то очень не так.
Ну и я вообще не понимаю, как именно могут фильтроваться результаты сниппетов TicketLatest (смысл которого выводить последние тикеты или комменты, в порядке их появления) или pdoCrumbs (который выводит хлебные крошки в строго определённом порядке).
На мой взгляд, если возникают подобные идеи — на сайте что-то очень не так.
Ну и я вообще не понимаю, как именно могут фильтроваться результаты сниппетов TicketLatest (смысл которого выводить последние тикеты или комменты, в порядке их появления)Почему использовал его, т.к. в его чанке легко вызываются плейсхолдеры [[+comments]], [[+date_ago]] и [[+fullname]] автора (или тогда как вывести кол-во комментариев тикета в pdoResoruces?)
Конечный результат: фильтр должен фильтровать статьи по категории (TV) и тегам (TV), и всё должно быть на Ajax-e, поэтому и был выбран mFilter2.
Про фильтрацию хлебных крошек я вообще молчу.Просто вёрстка сложная, и между фильтром и выводом статей должны выводиться хлебные крошки, поэтому я и вызвал там чанк [[$breadcrumbs]], который выводится на всех других страницах, но пришлось отказаться от такого варианта.
Ну я не знаю, может начать всё-таки с getTickets, который выводит тикеты и поддерживает все нужные плейсхолдеры и параметры?
Василий, прости мою невнимательность...
Действительно, я неправильный сниппет использовал (наверное спросонья).
Все вопросы по выводу фильтра снимаются, спасибо что ткнул пальцем!
Действительно, я неправильный сниппет использовал (наверное спросонья).
Все вопросы по выводу фильтра снимаются, спасибо что ткнул пальцем!
На здоровье!
Я вот тоже удивился, откуда такой странный подход к задаче.
Я вот тоже удивился, откуда такой странный подход к задаче.
Не могу понять, почему не подхватываются шаблоны для отдельных фильтров? Выводятся значения по-умолчанию. Не хотелось бы там что-то изменять — всё равно перезатрутся при обновлении.
Вызов такой:
Вызов такой:
[[!mFilter2?
&element=`getTickets`
&tpl=`tpl.blog-item`
&includeTVs=`image,category,tags`
&limit=`5`
&sortby=`publishedon`
&showEmptyFilters=`1`
&parents=`[[*id]]`
&filters=`
tv|category,
tv|tags,
createdby:fullname
`
&aliases=`
tv|category==category,
tv|tags==tags,
resource|createdby==author
`
&tplOuter=`tpl.mFilter2.outer.new`
&tplFilter.outer.tv|category=`tpl.mFilter2.filter.outer.category`
&tplFilter.row.tv|category=`tpl.mFilter2.filter.option.category`
&suggestionsRadio=`tv|category`
]]
Не подтягиваются эти шаблоны:&tplFilter.outer.tv|category=`tpl.mFilter2.filter.outer.category`
&tplFilter.row.tv|category=`tpl.mFilter2.filter.option.category`
Может быть я неправильно их указываю?
Ты используешь aliases, так что и параметры нужно указывать с ними:
&tplFilter.outer.category=`tpl.mFilter2.filter.outer.category`
&tplFilter.row.category=`tpl.mFilter2.filter.option.category`
Не хотелось бы там что-то изменять — всё равно перезатрутся при обновлении.Не перезатрутся, если ты сам не отметишь чанки галочкой при обновлении.
Спасибо, не догадался, что aliases в шаблонах нужно указывать… Как всё просто оказывается!
В общем, спасибо ещё раз!
Не перезатрутся, если ты сам не отметишь чанки галочкой при обновлении.Перезатираю почти всегда (вдруг что-то новое вышло), но с начала стараюсь работать только с копиями, указанными в &tpl
В общем, спасибо ещё раз!
На здоровье! Про имена чанков указано в документации.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.