Вывод ресурсов из разных подкатегорий.

Всем привет. Имеется множество категорий/контейниров (А, В, С и т.д.), в каждой из них есть подкатегории/коллекции (А:1, А:2, А:3), в каждой подкатегории создаются документы (А:1.1, А:1.2, А:1.3). Задача состоит в следующем:
Нужно вызывать документы (А:1.1, А:1.2, А:1.3) из разных подкатегорий, например: А:1.1, А:1.2, А:1.3, А:2.1, А:2.2, А:2.3, А:3.1, А:3.2, А:3.3 и т.д. для построения навигации «предыдущая» «следующая». Вариант с указанием id подкатегорий не подходит, т.к. придется создавать множество шаблонов, что проблематично и не подходит для этой задачи.
Владислав
31 января 2017, 09:17
modx.pro
1 388
0

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

Дмитрий Суворов
31 января 2017, 14:00
+1
Для построения навигации «предыдущая», «следующая» существует сниппет pdoNeighbors
    Владислав
    31 января 2017, 15:37
    0
    И как вывести ресурсы А:1.1, А:1.2, А:1.3, А:2.1, А:2.2, А:2.3, А:3.1, А:3.2, А:3.3 из подкатегорий (А:1, А:2, А:3) не указывая их id?
      Дмитрий Суворов
      31 января 2017, 15:41
      0
      чтобы выводить определенный уровень, есть сниппет один:

      <?php
      
      $level = $modx->getOption('level', $scriptProperties, 1);
      $parents = explode(',', $modx->getOption('parents', $scriptProperties, $modx->resource->get('id')));
       
      $ids = $parents;
       
      if (!function_exists('getLevelIds')) {
          function getLevelIds($parents, $level) {
              global $modx;
              $ids = array();
              foreach ($parents as $parent) {
                  $childids = $modx->getChildIds($parent, 1);
                  foreach ($childids as $id) {
                      $ids[] = $id;
                  }
              }
              $level = $level - 1;
              if ($level > 0) {
                  $ids = getLevelIds($ids,$level);
              }
              return $ids;
          }
      }
       
      if ($level > 0) {
          $ids = getLevelIds($parents,$level);
           
      }
      $output = implode(',', $ids);
      return $output;

      [[getParentsAtLevel? &level=`1` &parents=`0`]]

      forums.modx.com/thread/95675/getresources-listing-resources-of-a-certain-level#dis-post-517925
        Владислав
        31 января 2017, 18:16
        0
        Этот сниппет выводит только id ресурса определенного уровня и parents нужно указывать. А мне нужна навигация по документам разных подкатегорий в рамках одной категории! Т.е. есть категория 1 с вложенными подкатегориями в каждой из которых есть свои документы. И есть категории 2 со своими подкатегориями и документами.
        Мне хотелось бы найти решение, которое позволит построить навигацию между документами ТОЛЬКО одной категории. Т.е. между документами А:1.1, А:1.2, А:1.3, А:2.1, А:2.2, А:2.3, А:3.1, А:3.2, А:3.3 (первое сообщение мое). Ссылок на документы из других категорий на их страницах быть не должно.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4