eventsCalendar2 ограничение глубины выборки
Здравствуйте! Есть ли возможнось ограничить глубину выборки при выводе результатов eventsCalendar2, чтобы он не выводил дочерние ресурсы? &depth не работает, да его и нет в списке параметров в документации.
Комментарии: 8
eventsCalendar2 может принимать любой список, который вы составите, например, с помощью pdoResources и передадите ему в качестве JSON.
Спасибо, Илья! Буду разбираться.
Илья, помогите еще с двумя моментами, пожалуйста — никак не могу разобраться.
Вызов:
[[!eventsCalendar2?
&calendar_id=`calendar1`
&parents=`5`
&events=`[[$pdo-filter]]`
&dateSource=`publishedon`
&dateFormat=`%d %b %Y %H:%M`
]]
Чанк pdo-filter:
[[!pdoResources?
&parents=`5`
&limit=`0`
&depth=`1`
&dateSource=`publishedon`
&select=`id,publishedon,pagetitle`
&return=`json`
]]
При такой комбинации eventsCalendar выдает ошибку «eventsCalendar2 error: Ошибка преобразования JSON строки в массив событий».
Но сам по себе, такой вызов pdoResources, возвращает строку:
[{«id»:«7»,«publishedon»:«1507365859»,«pagetitle»:«1»},{«id»:«8»,«publishedon»:«1507365840»,«pagetitle»:«2»}]
и если ее подставить напрямую в чанк, то eventsCalendar ее принимает, но ничего не выводит. А если, вручную, поменять publishedon на «date», в формате «2017-10-07 01:05:00», то календарь все нормально выводит.
Что я неправильно делаю и как можно преобразовать publishedon в нормальный формат при передаче в json?
Вызов:
[[!eventsCalendar2?
&calendar_id=`calendar1`
&parents=`5`
&events=`[[$pdo-filter]]`
&dateSource=`publishedon`
&dateFormat=`%d %b %Y %H:%M`
]]
Чанк pdo-filter:
[[!pdoResources?
&parents=`5`
&limit=`0`
&depth=`1`
&dateSource=`publishedon`
&select=`id,publishedon,pagetitle`
&return=`json`
]]
При такой комбинации eventsCalendar выдает ошибку «eventsCalendar2 error: Ошибка преобразования JSON строки в массив событий».
Но сам по себе, такой вызов pdoResources, возвращает строку:
[{«id»:«7»,«publishedon»:«1507365859»,«pagetitle»:«1»},{«id»:«8»,«publishedon»:«1507365840»,«pagetitle»:«2»}]
и если ее подставить напрямую в чанк, то eventsCalendar ее принимает, но ничего не выводит. А если, вручную, поменять publishedon на «date», в формате «2017-10-07 01:05:00», то календарь все нормально выводит.
Что я неправильно делаю и как можно преобразовать publishedon в нормальный формат при передаче в json?
C «eventsCalendar2 error: Ошибка преобразования JSON строки в массив событий» разобрался — всего лишь восклицательный знак убрать надо было. А вот что делать с publishedon так и не могу понять.
Возможно, поможет параметр prepareSnippet — пишете сниппет, который будет преобразовывать дату в нужный формат, и используете его.
Спасибо! Буду разбираться. Т.е. простых путей, через json или tpl нет?
ну через tpl можно, конечно, но тогда tpl надо писать в виде JSON. Какой из вариантов выбрать — решайте сами)
Ок. Попробую через json. Сниппеты для меня темный лес — только начинаю изучать modx и php.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.