Вывод списка ресурсов через pdoMenu

Добрый день.

Есть такая структура:

Страны
— Беларусь
— — Экскурсии по Беларуси
— — — Экскурсия 1
— — — Экскурсия 2
— — — и т.д.
— Россия
— — Экскурсии по России
— — — Экскурсия 1
— — — Экскурсия 2
— — — и т.д.

Вопрос. Как я могу вывести список ресурсов через pdoMenu или pdoResources или еще каким-либо образом минуя уровень «Экскурсии по… ». Т.е. у меня должно полуиться:

Беларусь
— Экскурсия 1
— Экскурсия 2
Россия
— Экскурсия 1
— Экскурсия 2
Андрей
20 октября 2020, 22:22
modx.pro
94
0

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

Андрей
21 октября 2020, 13:28
0
Неужели никто не знает?))
    Евгений Webinmd
    21 октября 2020, 13:33
    0
    самый простой способ, на мой взгляд, это сделать условие в чанке. либо на уровень (level) либо на id шаблона(если отличается) и просто не выводить заголовок
      Андрей
      21 октября 2020, 13:34
      0
      Можете написать пример? Я уже голову сломал как это сделать…
        Евгений Webinmd
        21 октября 2020, 13:36
        0
        в tpl в чанке пишите что-то типа
        <li{$classes}>
            {if $level!=2}
                <a href="{$link}" {$attributes}>{$menutitle}</a>
            {/if}
            {$wrapper}
        </li>
          Андрей
          21 октября 2020, 14:17
          0
          Может быть тогда получится каким-то другим способом.
          Смотрите, вот мой вызов:
          [[!pdoMenu?
              &parents=`0`
              &level=`0`
              &showHidden=`1`
              &tpl=`gt__item`
              &where=`{"template":"15,17"}`
              &includeTVs=`blr-tour-dates,blr-tour-route,authors-tour-cost`
          ]]
          Содержимое чанка gt__item:
          <div class="gt__item">
              <div class="gt__item_fieldgroup">
                  <div class="gt__item_fieldgroup_part">
                      <a href="[[~[[+id]]]]" title="[[+pagetitle]]">[[+pagetitle]]</a>
                  </div>
                  <div class="gt__item_fieldgroup_part">
                      [[+blr-tour-route]]
                  </div>
              </div>
              <div class="gt__item_field">
                  [[+blr-tour-dates]]
              </div>
              <div class="gt__item_field">
                  [[+authors-tour-cost]]
              </div>
              <div class="gt__item_field">
                  [[pdoField? &id=`[[#[[#[[+id]].parent]].parent]]` &field=`pagetitle`]]
              </div>
          </div>
          Результатом всего этого есть содержимое этой страницы: График туров
          Название дедушки выводится возле каждого результата. Мне же нужно все результаты сгруппировать по дедушке (по названию страны).
          Т.е. идет название страны, внизу список туров по этой стране, потом следующая и т.д.
          Это возможно?
            Александр Мельник
            21 октября 2020, 15:41
            0
            А чем не устроил вариант предложенный Евгением? Вполне себе простое и работающее решение.
            Кстати, а просто проставить галочку «не отображать в меню» у «Экскурсии по Беларусии» не помогает? PdoMenu должен пропустить этот ресурс.
              Андрей
              21 октября 2020, 15:51
              0
              Если я отмечу «не отображать в меню», то у меня из меню экскурсии пропадут.

              Если решение Евгения рабочее, значит я не понимаю как построить вызов. Какой правильный вызов? При указании данной конструкции выводится просто пустая страница.
                Александр Мельник
                21 октября 2020, 16:30
                0
                то у меня из меню экскурсии пропадут.
                Вы проверяли? я почему-то не уверен что установка галочки у родителя скроет из меню и всех его детей. Нужно проверить.

                Не понимаю причем тут вызов. Вариант Евгения к вызову сниппета pdoMenu отношения не имеет. Вы при вызове сниппета указываете же tpl?
                В этом tpl можете делать проверку на то какой именно уровень сейчас отрисовуется и если он не равен 2 (то есть уровню Экскурсии по Беларусии) выводить этот пункт меню. То есть pdoMenu у вас из базы будет получать все ресурсы, но на уровне их отрисовки вы можете некоторые просто не вывести.
    Denis
    23 октября 2020, 01:11
    0
    Кхм… А, почему бы не сделать условие через «isfolder» или TV? Идея в том, что в &where добавить {«isfolder!=»:«1»} если isfolder, и {«TVname!=»:«1»} если TV Переключатель с вариантами 1 или 0, ну или Да и Нет.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      9