parser

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

 

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

получите и распишитесь

egr 18.11.2002 16:36 / 18.11.2002 16:44

комментировать тут особо нечего:
#######
# работа с URI - формирование списка всех URI сайта
@CLASS
uri

#######
# конструктор
@init[]
$items[^table::sql{
		SELECT
			id,
			parent_id,
			dir,
			title
		FROM
			t_sections
		ORDER BY
			id
}]

$uri_list[^table::create{uri	id	title
/	0	home
}]

#######
# форм. таблицы соответствий uri для всех разделов сайта
@get_all_site_uri[]
^items.menu{
	^uri_list.append{^get_uri[$items.id]	$items.id	$items.title}
}
$result[$uri_list]

#######
# получение uri раздела по заданному id
@get_uri[id][item;uri;define_parent_id;parent_id;method_id]
$method_id($id)
# получение parent_id раздела по заданному id
$define_parent_id{
	$item[^items.select($items.id == $method_id)]
	$parent_id($item.parent_id)
}
$define_parent_id
^while($parent_id > 0){
	$define_parent_id
	$uri[$item.dir/$uri]
	$method_id($item.parent_id)
	$define_parent_id
}
$define_parent_id
$uri[$item.dir/$uri]
$result[/$uri]
Работает так:
$object[^uri::init[]]
^object.get_all_site_uri[]