К содержанию

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

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

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

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

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

[[pdoResources?
    &parents=`4`
    &depth=`5`
    &limit=`100`
    &sortby=`{ "parent":"ASC", "menuindex":"ASC" }`
    &templates=`10`
    &tpl=`tplSklad`
]]
    Сергей Водолагин
    16 июня 2017, 17:04
    не сортирует нужно parent menuindex как-то добавить
    Александр
    Александр Старожил
    16 июня 2017, 20:21
    Тоже интересует этот вопрос.
    modx.pro/help/11950/
    Если найдётся ответ, будет замечательно.
      Сергей Водолагин
      19 июня 2017, 18:43
      Вот друзья помогли (так как глубина от родителей до нужных ресурсов от 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
        Интересное решение. Костыль, конечно, дикий, но других вариантов тоже не нашел.
        Спасибо! То что надо.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        5