организация многоуровнего каталога на pdoResources

мне необходим 3ёх уровневый каталог. я реализовал вывод 1ого уровня ресурсов каталога, теперь как сделать, что бы выводил подкаталог при выборе из первого уровня. так понимаю это нужно верно прописать ссылки в чанке вывода сниппета, не могу найти инфу по данному вопросу
вот мой чанк вывода ресурсов из каталога:

вот вызов сниппета:

[[!pdoResources?
&showHidden=`1`
&parents=`2`
&depth=`0`
&tpl=`catalogtpl`
&includeTVs=`catalog_img`
&limit=`30`]]

чего не хватает что бы выводились ресурсы из подкаталогов?
Андрей
27 сентября 2016, 12:55
modx.pro
2 892
0

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

Дима Сайт
27 сентября 2016, 16:02
+1
Если я правильно понял, то вам нужно всего лишь не жестко указать родителя, а динамически:
&parents=`2`
замените на
&parents=`[[*id]]`
или
&parents=`[[*parent]]`
Вызов сниппета нужно положить в шаблон, этот шаблон применить ко всем категориям каталога.
А к конечным товарам/услугам применить другой шаблон, не «корня» или «ветви» дерева, а «листа» (т.е. ресурса, у которого дочерних нет)
    Дима Сайт
    27 сентября 2016, 16:04
    +1
    А если вам на одной странице нужен вывод всего этого каталога, тогда я бы использовал pdoMenu для генерации дерева, а в tpl у пунктов меню использовал бы уже pdoResources для вывода ресурсов.
      Андрей
      29 сентября 2016, 13:33
      0
      Дмитрий, спасибо, именно то что нужно!
      Правда, начал разбираться с pdoMenu и застрял… не пойму какие чанки из" Параметров шаблонов" необходимо указать в выводе, что бы отображались выбранные категории в 3ёхуровневом каталоге?

      и как правильно обернуть в таком случае конечный ресурс?
        Дима Сайт
        03 октября 2016, 00:57
        1
        0
        не пойму какие чанки
        tpl – чанк для оформления ресурса, то есть каждого элемента li внутри ul. По умолчанию
        tplInner – чанк для обёртки внутренних пунктов меню, то есть оформляет меню 2-го уровня
        tplInnerRow – чанк обёртка внутреннего пункта меню. Оформляет li вложенные в ul в меню 2-го уровня, заменяет собой tpl
        Вам по идее вот эти нужны. Внутри tpl и/или tplInnerRow вызывайте pdoResources со своим каталогом.

        как правильно обернуть в таком случае конечный ресурс?
        Тут зависит все от того, что вы хотите от этого ресурса вывести. Если только название, то можно вообще обойтись одним pdoMenu, он и так построит дерево с названиями всех разделов и конечных пунктов.

        P.S. Советую больше экспериментировать, вы не сломаете тестовый сайт если пару раз не правильно укажете параметры, зато быстро разберетесь!
          Андрей
          15 декабря 2016, 08:39
          0
          Дмитрий, а можете ещё подсказать)
          если делать вывод только названий ресурсов одним pdoMenu, необходимо так же вот эти чанки заполнить tpl tplInner tplInnerRow или ещё какие-то? я указанные заполнил, но ничего не выводит…
            Дима Сайт
            15 декабря 2016, 11:11
            0
            Используя на всех уровнях
            &parents=`[[*id]]`
            и со стандартными чанками (т.е. без явного указания чанков) тоже не выводит?
            Экспериментируйте, я настаиваю))
              Андрей
              15 декабря 2016, 12:19
              0
              Дмитрий, выводит список, если делать вызов из документации pdoMenu вида:
              [[pdoMenu?
              &parents=`0`
              &level=`2`
              &tplInner=`@INLINE [[+wrapper]]`
              &tplParentRow=`@INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]] ([[+children]])[[+wrapper]]`
              &countChildren=`1`
              ]]
              Если я указываю свои чанки — ничего не выводит. Вернее выводит только первый уровень, все что внутри — ничего… Я понимаю, что скорее всего, я что-то делаю не так. но понять не могу что…
              А есть где примеры, возможно, можно посмотреть?
    Андрей
    27 сентября 2016, 20:13
    +1
    Чего то мне кажется что &depth=`0` нужно заменить на &depth=`2`
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      8