Вывод многоуровневого меню

DinDim

Новичок
Вывод многоуровневого меню

Здравтсвуйте. Храню в базе многоуровневое меню, построеннок по принципу Nested Sets, весь алгоритм в этой статье http://phpclub.ru/detail/article/db_tree . Т.е в базе для учета вложенности хранится уровень (level) м левое и правое смещение (left, right) Скажите как в smarty можно вывести эту структуру простым и универсальным способом чтобы получить вывод полобный этому

<ul>
<li>
<a href="#">Nested menu 1</a>
<ul>
<li><a href="#">As many levels as you need.</a></li>
<li><a href="#">All styled via CSS.</a></li>
</ul>
</li>
</ul>
 

DinDim

Новичок
donflash
Да это понятно, вот что у меня есть в php
$query="SELECT * FROM ".$table." ORDER BY cleft ASC";
$result=$dbh->query($query);

т.е. массив
element1
element11
element12
element2

А вот как его в сматри вышеприведенными тегами отформатить вот вопрос
 

Groove

Новичок
Порядок действий:
1) Создать дерево в NestedSets
2) Руками написать html-код волженных списков
3) собрать такой массив:
- текст
- текущий уровень
- предыдущий уровень
- следующий уровень
4) уловить закономерности, что при повышении уровня добавляется <ul><li>, если уровень тот же <li>, при понижении уровня </li></ul> столько раз насколько единиц понизился уровень.
5) отточить эти примерные зависимости на более сложном дереве.

Во всем этом тебе очень сильно поможет FireFox с установленным валидатором.

Желаю удачи.

Прости что дал только наводки, а не готовое решение)))
 

mike

pmcoder
>Smarty не умеет ничего такого.
Неправда. Умеет. В смарти можно рекурсивно инклудить шаблоны и запросто получить вышеупомянутую структуру.
 

mike

pmcoder
Я ж не сказал что смарти умеет быстро. Я опроверг то, что смарти не умеет вывести дерево.
 
Сверху