Для проффи MODX.
Имеется структура:
-------
Тренинги (8)
-Все тренинги (7)
-Duplicate of Категория тренингов (14)
— Тренинг 1 (15)
-Категория тренингов (12)
— Тренинг (13)
--- Новая ссылка (46)
--- Новая ссылка (47)
----
8 – папка которая не отображается
9 – в этом документе находится таблица тренингов. документ невидим в меню, поэтому сам в Diito не появляется
12, 14 – категория тренингов. содержит разные программы тренингов
15, 13 – тренинг – содержит описание и прочие поля
46,47 – экземпляр тренинга содержит следующие TV : date_begin, date_end, – точные даты начала и конца тренинга
date_defined – радиогруппа 0 – дата еще точно не определена и используется только месяц даты начала как предварительная дата. Если 1 – то определена точная дата.
нужно
1. создать одним или нескольким дитто, или своим сниппетом, чтобы выводились
НЕ БОЛЕЕ трех тренингов, после самого свежего, которые идут В ТОМ ЖЕ месяце, что и второй по свежести тренинг
вывод самого свежего тренинга уже сделал. вот ditto для него
[[Ditto? &parents=`8` &depth=`3` &dateSource=`date_begin` &dateFormat=`%d.%m.%Y` &display=`1` &hideFolders=`1` &noResults=` нет тренингов` &sortBy=`date_begin` &sortBy=`date_begin` &sortDir=`ASC` &filter=`date_begin,@EVAL return time();,3|date_defined,0,2` &tpl=`training_fresh` ]]
вывод других немного заступорился:
вот что я сделал:
[[Ditto? &parents=`8` &depth=`3` &dateSource=`date_begin` &dateFormat=`%d.%m.%Y` &display=`3` &hideFolders=`1` &noResults=` нет тренингов` &sortBy=`date_begin` &sortDir=`ASC` &filter=`date_begin,@EVAL return time();,3|date_defined,0,2` &tpl=`training_fresh` &start=`1` ]]
но тут нехватает фильтров, которые бы отсекли все тренинги, у которых месяц позже, чем 2-й по свежести.
Т.е. нужно добавить в этот Ditto еще один фильтр.
2) также нужен Ditto или custom snippet, к-й будет выводить словом месяц второго по свежести тренинга, т.е. одну из строк: В январе, В феврале, ..., В декабре.
по сути просто чанк написать для этого дитто
[[Ditto? &parents=`8` &depth=`3` &dateSource=`date_begin` &dateFormat=`%d.%m.%Y` &start=`1` &display=`1` &hideFolders=`1` &noResults=` нет тренингов` &sortBy=`date_begin` &sortBy=`date_begin` &sortDir=`ASC` &filter=`date_begin,@EVAL return time();,3|date_defined,0,2` &tpl=`training_fresh` ]]
3) самое важное: нужно расписание, по видимому надо будет соединить Ditto и Reflect
идея такая:
Категория
Тренинг1
Янв Февр Март
и т.д.
нужно что если тренинга нет в месяце – квадратик остается пустой. Если тренинг есть, но точная дата не определена, то в квадратике появляется 3 буквы назв месяца. Если же дата определена, то появляется дата начала и конца, например "17-20"
несколько скринов и чанк в аттаче