Решение, но правильное ли, что можно сделать лучше ?
GoodVin 28.08.2003 16:03
Задача:
выбирать из БД данные по конкретной странице и рекурсивно строить url и др.
Например, url страницы 2го уровня должен быть составным: url1\url2.html
В auto.p я написал рекурсивную функцию:
@getFullPath[page;id_parent;param]
^page.menu{
  ^if($id_parent == 0){
    $result[$param]
  }{
    ^if($page.id == $id_parent){
      $param[
        $.url[${page.url}${param.url}]
        $.name[<a href='${page.url}'>${page.name}</a> :: ${param.name}]
        $.template[${page.template}${param.template}]
        $.url[${page.content}${param.content}]
      ]
      ^getFullPath[$page;$page.id_parent;$param]
    }
  }
}
И вызываю ее так:
# выбираем данные о страницах из БД
$page[^table::sql{select * from page}]
... код который определяет нужную страницу
# инициализируем хэш
$param[
  $.url[$page.url]
  $.name[$page.name]
  $.template[$page.template]
  $.content[$page.content]
]
# вызываем процедуру
$paths[^getFullPath[$page;$page.id_parent;$param]]
# так можно распечатать результат
$paths.name : $paths.url : $paths.template : $path.content 
Вопрос: 
Правильно ли сделано, что можно улучшить ?
- Решение, но правильное ли, что можно сделать лучше ?, GoodVin 28.08.2003 16:03