pdoMenu ограничение выборки в потомках.

Добрый день.
Столкнулся с проблемой вывода по ограничению в меню, чтобы в конечном родителе сделать нужное кол-во потомков.
структура меню:

—Категория
— —категория 1
— — —ресурс 1.1
— — —ресурс 1.2
— — —ресурс 1.N
— —категория 2
— — —ресурс 2.1
— — —ресурс 2.2
— — —ресурс 2.N

Так вот, как мне вывести допустим по два элемента в «категория 1» и «категория 2» через pdoMenu? если вывести с limit, то снипет порежет меню, и желаемого результата не получить.

вызвать дважды? и во втором случае задать limit?
Александр Толстенко
01 ноября 2016, 11:18
modx.pro
2 197
0

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

Дмитрий Меркурьев
01 ноября 2016, 16:14
0
Я бы в шаблоне пункта меню ввел ограничение, например так:
[[+idx:lt=`3`:then=`шаблон пункта меню`]]
Не забыв указать tplParentRow, что бы не обрезались родительские элементы.
Пример:
[[pdoMenu?
    &parents=`15`
    &tplParentRow=`@INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]</li>`
    &tpl=`menu-row`
]]
Чанк menu-row
[[+idx:lt=`3`:then=`<li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+idx]] [[+menutitle]]</a>[[+wrapper]]</li>`]]
    Александр Толстенко
    01 ноября 2016, 17:30
    0
    да, способ рабочий,
    а как быть с сортировкой? чтобы отсортировать категорию по menuindex, как она в админ находится, и ресурсы конечных потомков в обратном порядке?
      Дмитрий Меркурьев
      01 ноября 2016, 17:59
      0
      Единственный вариант, который я сходу вижу, это сортировать по двум параметрам, допустим разделы по menuindex, а вложенные по дате публикации (menuindex при этом у них должен быть у всех один). Даты проставить так, что бы сортировалось как нужно.
      &sortby=`{"menuindex":"ASC", "publishedon":"DESC"}`
        Александр Толстенко
        01 ноября 2016, 18:12
        0
        Спасибо. Дело в том что там ресурсы создавались не знаю, когда каждый править неохота, сделал так,
        &sortby=`{«menuindex»:«DESC»}`
        чтобы не париться, категорий не много, буду в низ переносить новые если что.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4