Как я понял «template» => 2 это означает что выбираем только категории.
Это выборка документов с шаблоном 2 (Категория). Собственно, у нас только категории с таким шаблоном. По этому принципу можно выбирать любые документы с определенными шаблонами.
переменной $parent у меня не оказалось) но поставил статичную — нормально.
Собственно да, так и предполагалось, что вы укажите там какую-то свою переменную.
Теперь еще вопрос как узнать если у категории подкатегории? можно конечно перебрать каждую категорию такие же процессором, но вдруг еще как то можно?
У всякого документа есть переменная parent, в которой указан id родителя, и по ней можно понять в корне сайта документ находится или нет. А вот признака есть дети или нет — такого нет. Поэтому только через выборку. Самый простой способ — через $modx->getCount();
$modx->getCount('modResource', array( "parent" => $resource_id, "deleted" => 0, "hidemenu" => 0, "published" => 1 ));