zeltais
Новичок
smarty, категории, рекурсия
есть табличка id, name, parent_id ( ещё куча полей )
по ней строю меню
соответсвенно пункты, подпункты, подподпункты и т.д., вложенность может быть бесконечная
меню выводится в смарти темплейте
не могу построить логику, получаю бесконечный цикл
под конец дня голова пухнет уже, обьясните в чём не прав, что почитать ?
и как бы это отдать в смарти, чтобы в темплейте пропарсить с учётом вложенности ?
пы.сы. в поиске был, что такое рекурсия знаю, смарти занимаюсь 2ой день
есть табличка id, name, parent_id ( ещё куча полей )
по ней строю меню
соответсвенно пункты, подпункты, подподпункты и т.д., вложенность может быть бесконечная
меню выводится в смарти темплейте
не могу построить логику, получаю бесконечный цикл

PHP:
function mainmenu($parent_id=false)
{
global $smarty,$langId;
if (empty($parent_id)) { $p=""; } else { $p="and parent_id='".$parent_id."'"; }
$query_main_menu="select * from s_module where vieta='main' and lang_id='".$langId."' and status='1' $p order by order_id DESC";
$result_main_menu=mysql_query($query_main_menu);
while($row_main_menu=mysql_fetch_array($result_main_menu))
{
$aMenn[]=$row_main_menu;
if($row_main_menu["parent_id"]!="0") { mainmenu($row_main_menu["parent_id"]); }
}
$smarty->assign("mainmenu_loop",$aMenn);
}
и как бы это отдать в смарти, чтобы в темплейте пропарсить с учётом вложенности ?

пы.сы. в поиске был, что такое рекурсия знаю, смарти занимаюсь 2ой день