Esempio n. 1
0
function GetDeepMenuArr($act,$tablename,$parentid,$maxlevel,$level,$activearr,$showallsubitems=false/* Выбирать все подпункты или только у активного пункта*/)
{
    global $par,$langadd;

    $resarr = Array();

    //делаем выборку всех видимых пунктов меню уровня
    $sql1 = "SELECT * FROM $tablename WHERE parentid=$parentid AND hide=0 ORDER BY prior";
    $res1 = mysql_query($sql1);
    $nrows1 = mysql_num_rows($res1);
    if($nrows1>0)
    {
        while($line1 = mysql_fetch_array($res1,MYSQL_ASSOC))
        {
            $t = Array();

            $url1 = GetSeoUrl($act,$line1['id'],$line1);

//		    echo '<li '.TrueStr(in_array($line1['id'],$activearr),' class="active" ').' ><a href="'.$url1.'">'.htmlspecialchars($line1['title'.$langadd]).'</a>';

            $t['id'] = $line1['id'];
            $t['url'] = $url1;
            $t['title'] = $line1['title'.$langadd];

            if(in_array($line1['id'],$activearr)) $t['isactive'] = true;

            //если опция покаpывать все подпункты, или если пункт активный - то раскрываем подкатегории
            if($showallsubitems || in_array($line1['id'],$activearr))
            {
                $t['subarr'] = GetDeepMenuArr($act,$tablename,$line1['id'],$maxlevel,$level+1,$activearr,$showallsubitems);
            }

            $resarr[] = $t;
        }
    }
    return $resarr;
}
Esempio n. 2
0
<?
  $activecatid = 0;

  if($act=="cat") $activecatid = $id;
  
  if($act=="tovar")
  {
    $sql = "SELECT * FROM $par->objectstable WHERE id=$id";
    $res = mysql_query($sql);
    if($line = mysql_fetch_array($res,MYSQL_ASSOC)) $activecatid = $line['categid'];
  }
  
    $activearr = GetActiveArr('cat',$par->categorytable,$activecatid);
//    PrintDeepMenu('cat',$par->categorytable,0,3,1,$activearr);


    $_logic['maincatarr'] = GetDeepMenuArr('cat',$par->categorytable,0,3,1,$activearr,false);
    //Debug('<pre>'.print_r($a,true).'</pre>');

?>