было бы неплохо увидеть что у тебя на 31 строчке куда указывает ошибка, но по коду ошибки предположу что система не нашла $parentElement, а не нашла она его видимо из-за того что не нашла подходящего значения в поле 'parent'
$parent_id = (int) getRequest('parent');
проверь у тебя $parent_id определяется в макросе?
и желательно ставить проверку удалось ли тебе получить страницу или объект прежде чем работать со страницей или объектом. То есть, после строчки
$parentElement = $hierarchy->getElement($parent_id);
неплохо сделать бы проверку
if(!$parentElement instanceof umiHierarchyElement == false) {
return "Не найдена родительская страница.";
// или еще какое сообщение или действие
}