pdoResources сортировка как в меню

Подскажите как правильно настроить
Есть много родителей, у некоторых потомков установлен шаблон 10.
Я вывожу по шаблону только потомков.
Нужна сортировка по очерёдности (с учётом родителей).

[[pdoResources?
    &parents=`4`
    &depth=`5`
    &limit=`100`
    &sortby=`menuindex`
    &sortdir=`ASC`
    &templates=`10`
    &tpl=`tplSklad`
]]
Сергей Водолагин
16 июня 2017, 13:38
modx.pro
5
10 226
0

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

Павел Романов
16 июня 2017, 16:47
0
Попробуйте так:

[[pdoResources?
    &parents=`4`
    &depth=`5`
    &limit=`100`
    &sortby=`{ "parent":"ASC", "menuindex":"ASC" }`
    &templates=`10`
    &tpl=`tplSklad`
]]
Александр
16 июня 2017, 20:21
0
Тоже интересует этот вопрос.
modx.pro/help/11950/
Если найдётся ответ, будет замечательно.
    Сергей Водолагин
    19 июня 2017, 18:43
    8
    +1
    Вот друзья помогли (так как глубина от родителей до нужных ресурсов от 1 до 5 вот решение)
    [[pdoResources?
        &parents=`4`
        &limit=`100`
        &sortby=`{ "pm5":"ASC","pm4":"ASC", "pm3":"ASC", "pm2":"ASC", "pm1":"ASC" }`
        &where=`{ "template": 10 }`
        &tpl=`tplSklad`
        &leftJoin=`{
            "p1": {
                "class": "modResource",
                "on": "p1.id = modResource.id"
            },
            "p2": {
                "class": "modResource",
                "on": "p2.id = p1.parent"
            },
            "p3": {
                "class": "modResource",
                "on": "p3.id = p2.parent"
            },
            "p4": {
                "class": "modResource",
                "on": "p4.id = p3.parent"
            },
            "p5": {
                "class": "modResource",
                "on": "p5.id = p4.parent"
            }
        }`
        &select=`{
            "modResource": "*",
            "p1": "COALESCE(p1.menuindex, 999999999) as pm1",
            "p2": "COALESCE(p2.menuindex, 999999999) as pm2",
            "p3": "COALESCE(p3.menuindex, 999999999) as pm3",
            "p4": "COALESCE(p4.menuindex, 999999999) as pm4",
            "p5": "COALESCE(p5.menuindex, 999999999) as pm5"
        }`
    ]]
      Александр
      25 декабря 2019, 08:59
      0
      Интересное решение. Костыль, конечно, дикий, но других вариантов тоже не нашел.
      Спасибо! То что надо.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      5