Может, я невнимательно прочитал ветку, но исключение родителя из адреса можно легко сделать без изменений в ядре, плагином на OnDocFormSave.
Немного сумбурно, но все же:
<?phpif($modx->event->name=='OnDocFormSave'){$depth=4;$parent=2;$id=$resource->get('id');//Если у ресурса уже стоит галочка на перезапись alias-а, выходимif($resource->get('uri_override')==1)return;$docParent=$resource->get('parent');$parentIds=$modx->getParentIds($id,$depth,array('context'=>'web'));if(count($parentIds)==0&&$docParent!=$parent)$parentIds=$modx->getParentIds($docParent,$depth,array('context'=>'web'));elseif($docParent==$parent)$parentIds[]=$parent;//Если сохраняется документ не из нужной нам ветки $parent, выходим if(!in_array($parent,$parentIds))return;$alias=str_replace($modx->makeUrl($parent),'',$modx->makeUrl($id));$resource->set('uri',$alias);$resource->set('uri_override',true);$resource->save();}
В этом примере исключаем алиас родителя с id=2 на вложенности до 4 уровней в ветке.
Соответственно, если нужно исключать на большей вложенности, увеличиваем $depth, а если нужно исключать несколько родителей, это несложно переделать на массив с нужными id.