We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 33256
    • 38 Posts
    Для проффи 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"
    несколько скринов и чанк в аттаче
      Мои мысли, работы и прочее - тут: http://www.andreyev.name