Под корневым родителем подразумевается ресурс, который не имеет родителей.
Пример:
Отмеченные галочками - это корневые. У них, как бы, тоже есть родитель - это 0, но для нас это не имеет значения.
Это может потребоваться, если, например, мы делаем какие-то уникальные элементы на сайте для конкретных разделов будь то поиск по разделу или меню для раздела.
<?php
$id = $modx->getOption('id', $scriptProperties, '');
if(!$id) return 'No id for search';
if(!function_exists('get_parent')) {
function get_parent($modx, $id) {
$object = $modx->getObject('modResource', array('id' => $id));
$parent = $object->get('parent');
if($parent != 0) {
return get_parent($modx, $parent);
}else{
return $id;
}
}
}
echo get_parent($modx, $id);
Называем сниппет как хотим и вызываем с параметром &id=[[*id]]