[[getResources@РядТаблицы?
&parents=`
[[getResources?
&depth=`0`
&parents=`[[*id]]`
&where=`{"pagetitle:=":"Прайс"}`
&tpl=`tpl`
&showHidden=`1`
]]
`]]
[[+id]]
Как-то это некрасиво. Шаблоны действительно разные, пустые. Используется возможности TV данного шаблона для формирования содержания.
А у вас шаблоны разные? Тогда можно использовать один вызов getResources на всю вложенность, а потом в tpl использовать условие...
...
П. П. С. Но это все если не писать свой сниппет и не делать свои запросы к базе (глядя на ваше решение, я пришла к выводу, что вам этого не хочется). Хотя,даже если делать свои запросы, придется делать 2 запроса: чтобы узнать потомков текущего узла и чтобы узнать его потомков.

Так если вас не смущает создание собственного сниппета, используйте getDocumentChildren два раза. В Revo он работает? Не знаю точно, но вроде должен
<?php
$docid = (isset($docid))? $docid: $modx->documentIdentifier;
$name = (isset($name))? $name: 'Прайс';
/* first, build the query */
$c = $modx->newQuery('modResource');
/* we only want published and undeleted resources */
$c->where(array(
'published' => true,
'deleted' => false,
));
/* get all the children of ID */
$children = $modx->getChildIds($docid,1);
if (count($children) > 0) {
$c->where(array(
'id:IN' => $children,
));
}
/* sort by menuindex ascending */
$c->sortby('menuindex','ASC');
/* get the resources as xPDOObjects */
$resources = $modx->getCollection('modResource',$c);
$output = '';
foreach ($resources as $resource) {
if ( $resource->get('pagetitle') == $name) {
$output .= $resource->get('id');
}
}
return $output;
?>[[ПолучитьДочь? &name=`Прайс`]]Вроде работает, есть что подправить?
'id:IN' => $children,
'template'=> '1', // Не уверена, что вокруг цыфры нужны ковычкиforeach ($resources as $resource) {
$output .= $resource->get('id');
}
Я только в упор не понимаю, зачем нужна проверка pagetitle при выводе, если можно указать номер template в условии (или, если так хотите, по pagetitle, но тоже не в выводе, а в условиях)...
...
Понятно, что передавать переменную в сниппет тоже не надо
А это как раз для того чтобы выбрать интересующий раздел дерева документов - либо "Прайс (2)" либо "Портфолио (3)"Но это не нужно, если вы будете ставить условие по темплейту