mFilter2 и pdoMenu

Есть дерево документов — расписание по дням недели. Хочу фильтровать расписание с помощью mFilter2.

Понедельник
<ul>
	<li>урок 1</li>
	<li>урок 2</li>
</ul>
Вторник
<ul>
	<li>урок 1</li>
	<li>урок 2</li>
</ul>
и.т.д.

Вызов pdoMenu вот такой:

<div id="schedule">
    <table class="table table-striped table-hover table-bordered" >
        <thead >
            <tr><th colspan="2">Время</th><th>Класс</th><th>Преподаватель</th><th>Зал</th><th style="
    width: 25%;
">Примечание / Замена</th></tr>
        </thead>
        <tbody>
        [[pdoMenu? 
            &limit=`50`
            &hideContainers=`0` 
            &level=`3` 
            &showHidden=`1` 
            &parents=`48` 
            &includeTVs=`day,time1,time2,class,trener,zal,note` 
            &tvPrefix=`` 
            &processTVs=`1`
            &tplOuter=`@INLINE <tr[[+classes]]>[[+wrapper]]</tr>` 
            &tpl=`@INLINE <tr[[+classes]]><td>[[+time1]]</td><td>[[+time2]]</td><td>[[+class]]</a></td><td>[[+trener]]</td><td>[[+zal]]</td><td>[[+note]]</td><tr>`
            &tplParentRow=`@INLINE <tr[[+classes]]><td class="schedule-day " colspan="6">[[+pagetitle]][[+wrapper]]</td></tr>` 
            &fastMode=`1` 
            &cache=`1`
            ]]
            
        </tbody>
    </table>
</div>
Пример тут

Для вывод расписания использую pdoMenu так как проще выстраивать список и pdoResources не может показать родителя в результате выборки с сортировкой ресурсов относительно этого родителя.

Хочу фильтровать расписание с помощью mFilter2, но столкнулся вот с какой проблемой — совпадением параметров &tplOuter=`` у mFilter2 и pdoMenu при вызове фильтра:

[[!mFilter2?

                            	&element=`pdoMenu`
                            	&parents=`48`
                            	&showHidden=`1`
                            	&limit=`50`
                                &hideContainers=`0` 
                                &level=`3` 
                                &filters=`
                                         parent:categories`
                                
                                &includeTVs=`day,time1,time2,class,trener,zal,note` 
                                &tvPrefix=`` 
                                &processTVs=`1`
                                &tpls=`@INLINE <tr[[+classes]]><td>[[+time1]]</td><td>[[+time2]]</td><td>[[+class]]</a></td><td>[[+trener]]</td><td>[[+zal]]</td><td>[[+note]]</td><tr>`
                                &tplOuter=`myTpl.mFilter2.outer.table`
                                                        ]]
В этом случае результат оборачивается в myTpl.mFilter2.outer.table и получается вот такая хрень а нужно оборачивать в &tplOuter=`@INLINE <tr[[+classes]]>[[+wrapper]]`

Если изменить &element=`pdoMenu`на &element=`pdoResources`, то вывод результат идет но список не выстраивается относительно дня недели — пример.

Э-х надеюсь я понятно все тут расписал :)
Посоветуйте, что можно с этим сделать.
Денис Богдановский
22 августа 2014, 07:49
modx.pro
1 944
0

Комментарии: 12

Василий Наумкин
22 августа 2014, 12:41
0
pdoMenu выводит дерево, а не список ресурсов.

Он не будет работать с mFilter2, так же как и с pdoPage.
Денис Богдановский
22 августа 2014, 14:44
0
А каким снипетом подходящим можно вывести иерархческое дерево для mFilter2?
    Виктор
    22 августа 2014, 15:23
    0
    pdoResources не может показать родителя в результате выборки с сортировкой ресурсов относительно этого родителя.
    А что тут написано? Что за сортировка относительно родителя?
      Денис Богдановский
      22 августа 2014, 15:27
      0
      Это я не очень правильно объяснил необходимость построения иерархического дерева.
        Виктор
        22 августа 2014, 15:40
        0
        Иерархическое дерево можно построить вложенными вызовами и можно будет фильтровать по дням недели, а вот фильтровать внутренний вызов…
          Виктор
          22 августа 2014, 15:50
          0
          Вот тут ссылка интересная мыслье, можно сделать дни недели скрытыми радио-табами и тогда иерархии не надо, но будет отображаться лишь один день, в котором можно будет фильтровать сеансы, если это нужно

          Или чекбаксами, а в таблицу добавить графу день недели и сортировать по нему, тогда можно будет в фильтре выбрать нужные дни недели и сеансы
            Денис Богдановский
            22 августа 2014, 16:11
            0
            Отображение одного дня не подходит… а если чекбоксами то в самом расписании все будет единым списком без дней недели, т.е. я не понимаю как добавить строку с днем недели между уроками.
              Виктор
              22 августа 2014, 16:21
              0
              И между и руки не испачкать — думаю никак, а костылями можно, но лучше уж подублировать названия дня недели в строке сеанса
        Василий Наумкин
        22 августа 2014, 15:35
        0
        Как ты себе представляешь фильтрацию дерева?

        У меня вот не хватает фантазии.
        Яна Митрофанова
        27 марта 2019, 07:12
        0
        @Денис Богдановский Здравствуйте! Подскажите пожалуйста, как вы сделали чтобы у вас выводились дни недели и работала фильтрация (здесь)?
          Денис Богдановский
          28 марта 2019, 13:55
          0
          Пришлось делать вложеные вызовы. Внутри шаблона дня недели вложен вызов уроков.
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            12