parser

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

 

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

Ответ

tricord 13.07.2005 11:22

Возможно.
Вот код:
# достаем не более 20 корневых сообщений (parent_id == 0)
$rootMessages[^getMessagesByParent[0;20]]

# достаем все сообщения в тредах, которые мы только что достали
$messages[^getMessagesByThread[$rootMessages]]

# создаем хеш, в котором ключи — id элемента, содержание — таблица со всеми их дочерними элементами
$hashTree[^createHashTree[$messages]]

# cоздаем хэш со всеми родителями текущего элемента(id) включая и его самого.
$ParentsForIdHash[^getParentsForIdHash[$form:id]]

@getParentsForIdHash[id]
$MessageById[^getMessageById[$id]]
$MessageByThread[^getMessagesByThread[$MessageById.thread_id]]
$parentsMessage[^hash::create[]]
^parentsMessage.add[
		$.0(0)
	]
$str_hash[^MessageByThread.hash[forum_message_id]]
$pid($id)
^while($pid){
  ^parentsMessage.add[
    $.[$pid][$pid]
  ]
  $pid($str_hash.[$pid].parent_id)
}

# выводим все его элементы в виде раскрывающегося дерева
# c условием:
# ^if($ParentsForIdHash.[parent_id элемента]){
# 
# }
Не могу понять, как используя это условие изменить метод
 @printMessagesByParent[parent_id] 
.