Сниппет в сниппете - возможно?

Давно мучает вопрос, как реализовать вывод не только дочерних, но и внучатых документов…
Вот, например, такая логика:

[[!pdoResources?
  &includeContent=`1`
  &tpl=`@INLINE
    <div class="children">
      <h2>[[+longtitle]]</h2>
      [[+content]]

      [[!pdoResources?
	&includeContent=`1`
	&tpl=`@INLINE
	  <div class="grandchildren">
	    <h2>[[+longtitle]]</h2>
	    [[+content]]
	  </div>`
	&parents=`[[+id]]`
      ]]
    		
    </div>`
  &parents=`123`
]]
Но так, конечно, адекватно ничего не работает.

А можно ли как-то в принципе эту логику реализовать? Нигде почему-то не пишут об этом или я плохо искала…
Дарья Сизова
22 декабря 2013, 10:50
modx.pro
2 071
0

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

Даниил
22 декабря 2013, 14:58
0
Ключевой момент здесь какую глубину указываете в параметре &depth. Лучше всего выбрать все нужные ресурсы за один раз, но можно и рекурсивно, вот например подобный вопрос http://modx.pro/help/1662/
    Дарья Сизова
    22 декабря 2013, 15:08
    0
    Если указать глубину, то ресурсы выведутся, конечно, но без соблюдения иерархии. А если нужно, например, сделать 4 вкладки (=4 дочерних ресурса) и в каждой вкладке допустим «аккордеон» из дочерних ресурсов, относящихся только к этой вкладке?
      Даниил
      22 декабря 2013, 15:17
      0
      Я ж говорю, рекурсивно можно, но просто дольше работать это дело будет, нагрузка на сервер все дела… Вообще есть еще вот такой параметр, использующийся при вызове
      &conditionalTpls=`{"2":"tplChunk2", "3":"tplChunk3"}`
      т.е. для ресурсов с шаблоном 2 будет для вывода использоваться tplChunk2, для ресурсов с шаблоном 3 соответственно tplChunk3 ну и т.д.
        Даниил
        22 декабря 2013, 15:19
        0
        Естественно для всех остальных, не указанных в &conditionalTpls будет использован чанк указанный в &tpl
      Василий Наумкин
      22 декабря 2013, 15:33
      0
      Так будет работать, если вынести чанк отдельно, а не писать в INLINE, иначе парсер его обработаети в сниппет он попадет без вложенного вызова.

      pdoResources выводит все вложенные ресурсы на глубину 10, по умолчанию. Если нужно отобразить иерархию — то используй pdoMenu.
        Михаил
        22 декабря 2013, 17:31
        0
        Василий, извини за беспокойство, но не мог бы ты ответить на мою публикацию modx.pro/help/2365/
        Я попробовал перевести работающий сайт на Schedule и столкнулся с вопросами, посмотри, пожалуйста
          Дарья Сизова
          22 декабря 2013, 17:45
          0
          Да, теперь разобралась, спасибо!
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          7