вывод меню в шаблоне

Статус
В этой теме нельзя размещать новые ответы.

sniper_9

Новичок
вывод меню в шаблоне

Всем доброго времени суток. Написал функцию для вывода меню:

$sql= 'SELECT * FROM `'.$table.'` right join '.$table.' t1 on '.$table.'.id = t1.parent_id ORDER BY ifnull(t1.parent_id,t1.id), t1.id;';
//echo $sql;
$result = mysql_query($sql);
// print_r($result);
$iNum_results = mysql_num_rows($result);
//echo $iNum_results;
$bFlag = false;
$sHtml_view='<div id="'.$class_name.'"><ul>'."\n";
for ($i=0; $i< $iNum_results; $i++)
{
$aRow = mysql_fetch_assoc($result);
//print_r($aRow);
//iconv ("KOI8-R","windows-1251",$aRow['name']);
if ((isset($aRow['reference'])) && ($aRow['reference'] <> ''))
{

$reference_begin = '<a href="'.$aRow['reference'].'">';
$reference_end = '</a>';

}

else
{
$reference_begin = '';
$reference_end = '';
}

if (isset($aRow['parent_id']))
{
if ($bFlag)
$sHtml_view = $sHtml_view.'<li>'.$reference_begin.$aRow['name'].$reference_end.'</li>'."\n";
else
{
$sHtml_view = $sHtml_view.'<li><ul id="submenu'.$aRow['id'].'"><li>'.$reference_begin.$aRow['name'].$reference_end.'</li>'."\n";
$bFlag = true;
}
}
else
{
if ($bFlag)
{
$bFlag = false;
$sHtml_view = $sHtml_view.'</ul></li>'."\n";
$sHtml_view = $sHtml_view.'<li>'.$reference_begin.$aRow['name'].$reference_end.'</li>'."\n";
}
else
$sHtml_view = $sHtml_view.'<li>'.$reference_begin.$aRow['name'].$reference_end.'</li>'."\n";
}

if (($i == $iNum_results-1) && ($bFlag))
$sHtml_view = $sHtml_view.'</ul></li></ul>'."\n";

if (($i == $iNum_results-1) && (!$bFlag))
$sHtml_view = $sHtml_view.'</ul>'."\n";
}
$sHtml_view = $sHtml_view.'</div>'."\n";
echo $sHtml_view;

Всё бы хорошо только вот на данный момент необходимо всё это через Smarty пропустить.
Получается вёрстка такого вида:
<div id="main_sidebar"><ul>
<li><a href="javascript:view_submenu('submenu5');">пункт 1</a></li>
<li><ul id="submenu5"><li></li>
<li>пункт </li>
<li>пункт </li>
...................
<li>пункт </li>
</ul></li>
<li><a href="javascript:view_submenu('submenu20')">пункт 2</a></li>
<li><ul id="submenu20"><li>вБОУЛП</li>
<li>пункт </li>
<li>пункт </li>
<li>пункт </li>
</ul
....................
</ul>
</div>

Предполагаю использовать 2 foreach'a вложенный один в другой, но не знаю как добиться такого же результата, как с переменной $bFlag.
Заранее, спасибо.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху