parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Misha v.3 29.09.2004 01:02

$tree - ваше дерево (хеш таблиц)
$curent_id - id текущего объекта
$parents[^hash::create[]]
$parent_id($current_id)
^while($parent_id){
	^parents.add[
		$.[$parent_id](1)
	]
	$parent_id($tree.[parent_id].parent_id)
}
на выходе получили в $parents хеш со всеми родителями текущего элемента включая его самого.
далее в рекурсивном обходе дерева выводите только те элементы, для которых истинно условие:
^if($parents.[parent_id элемента]){
}

P.S. в общем это то же самое что написал Sergey M.