Подскажите пожалуйста, уже несколько дней голову ломаю, нужно сделать меню, отображающее список элементов с привязкой дочерних элементов к их родителям. Не могу придумать логику как построить Smarty шаблон, чтобы он добовлял новый <UL> после определенного родительского элемента и добавлял в него новый список дочерних элементов, которые ему принадлежат и после окончания списка далее продолжал строить список родит. элементов. Пример того, что должно получиться Код (Text): <ul> <li>Пункт 1</li> <li>Пункт 2 <ul> <li>Пункт 2.1</li> <li>Пункт 2.2 <ul> <li>Пункт 2.3.1</li> </ul> </li> <li>Пункт 2.3</li> </ul> </li> <li>Пункт 3</li> </ul> Что мы имеем Есть таблица "sometable" в MySQL, в ней есть 3 столбца "id", "name" и "parent" и 7 строк: id - name - parent 1 - Пункт 1 - 1 2 - Пункт 2 - 1 3 - Пункт 3 - 1 4 - Пункт 2.1 - 2 5 - Пункт 2.2 - 2 6 - Пункт 2.3 - 2 7 - Пункт 2.3.1 - 6 Код (Text): //Получаю массив из БД $sql = mysql_query("SELECT * FROM sometable"); while ($row = mysql_fetch_array($sql)) $rows[] = $row; //Передаю массив в шаблон $smarty->assign('menu', $rows); У меня пока вот так: Код (Text): {section name=menu1 loop=$menu} {if $menu[menu1].topsection eq 1} <li>{$menu[menu1].menuname}</li> {elseif $menu[menu1].topsection gt 1} <ul> <li>{$menu[menu1].menuname}</li> </ul> {/if} {/section} Но получается тупость