Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Объявления о найме специалистов > Помогите ламеру в PHP


Автор: trigger 5.3.2007, 01:48
Прошу помощи потому как в PHP  ни бельмеса.

Ниже приведен скрипт естественно не мой, 
в нем нужно приделать подсветку активного подраздела.

например:

главная
о нас 
каталог
   раздел1
   раздел2 (если выбрали этот то подсветить)
   раздел3

Как это сделать - мой мозг отказывается предоставлять варианты.


Код

<?
error_reporting(0);
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
require("con_mysql.php");
require("sessions.php");
require("template_f.php");
require("vars.php");
$tpl=new Template('templates');
$tpl->add_template('main','main.htm');

if (!eregi('(Googlebot|Slurp|MSNBOT|UdmSearch|InfoSeek|Yandex|StackRambler|Aport|BigmirSpider|MetaSpider)',$_SERVER["HTTP_USER_AGENT"])) session_start();
//session_register('IP','IP2','user_name');
if (!isset($_SESSION['IP']) || $_SESSION['IP']!=$REMOTE_ADDR || isset($logout)) {
  session_destroy();
  if (!eregi('(Googlebot|Slurp|MSNBOT|UdmSearch|InfoSeek|Yandex|StackRambler|Aport|BigmirSpider|MetaSpider)',$_SERVER["HTTP_USER_AGENT"])) session_start();
  $_SESSION['IP']=$REMOTE_ADDR;
}

$IS_LOGIN=0;
if (isset($auth) && isset($e_mail) && isset($pass) && ($e_mail=trim($e_mail)) && ereg("^[a-zA-Z0-9]+([-_\.]?[a-zA-Z0-9])+@[a-zA-Z0-9]+([-_\.]?[a-zA-Z0-9])+\.[a-zA-Z]{2,4}$", $e_mail) && ($pass=trim($pass))) {
  $r=mysql_query("SELECT ID FROM kents WHERE e_mail='$e_mail' AND pass='$pass'");
  if (mysql_num_rows($r))  {
    $f=mysql_fetch_array($r);
    $_SESSION['USER_ID']=$f['ID'];
    $IS_LOGIN=1;
  }
}
if (isset($_SESSION['USER_ID'])) $IS_LOGIN=1;

$nav_left='';
$r=mysql_query("SELECT * FROM top_nav WHERE show_p='Y' ORDER BY sort");
while ($f=mysql_fetch_array($r)) {
  if (!$f['privat'] || $IS_LOGIN) {

    $nav_left.=$tpl->compile('nav_left.htm',array('NAME'=>$f['name'],'LINK'=>$f['link']));
    
    if (strpos($REQUEST_URI,'catalog') && strpos($f['link'],'catalog')) {
      $rr=mysql_query("SELECT * FROM category ORDER BY sort");
      $nav_left.=$tpl->compile('nav_left_catalog.htm',$rr);
    }


if (strpos($REQUEST_URI,'portfolio') && strpos($f['link'],'portfolio')) {
      $rr=mysql_query("SELECT * FROM pcategory ORDER BY sort");
      $nav_left.=$tpl->compile('nav_left_portfolio.htm',$rr);
    }

if (strpos($REQUEST_URI,'research') && strpos($f['link'],'research')) {
      $rr=mysql_query("SELECT * FROM rcategory ORDER BY sort");
      $nav_left.=$tpl->compile('nav_left_research.htm',$rr);
    }


    if (strpos($REQUEST_URI,'gallery') && strpos($f['link'],'gallery')) {
      $rr=mysql_query("SELECT * FROM gallery_cat ORDER BY sort");
      $nav_left.=$tpl->compile('nav_left_gallery.htm',$rr);
    }
  }
}

$tpl->add_template_var('main','NAV_LEFT',$nav_left);
$r=mysql_query("SELECT * FROM top_nav WHERE privat='' AND show_p='Y' ORDER BY sort");
$tpl->add_template_var('main','NAV_BOTTOM',array('filename'=>'nav_bottom.htm','vars'=>$r));
$tpl->add_template_var('main','TOP_TEXT',get_my_system('top_text'));
$tpl->add_template_var('main','BOTTOM_TEXT',get_my_system('bottom_text'));
$tpl->add_template_var('main','COUNTERS',array('filename'=>'counters.htm','vars'=>array()));
?>


в строке 
    $nav_left.=$tpl->compile('nav_left.htm',array('NAME'=>$f['name'],'LINK'=>$f['link']));
вызывается шаблон меню.

следующие  раскрывают раздел с помощью щаблона nav_left_catalog.htm
    if (strpos($REQUEST_URI,'catalog') && strpos($f['link'],'catalog')) {
      $rr=mysql_query("SELECT * FROM category ORDER BY sort");
      $nav_left.=$tpl->compile('nav_left_catalog.htm',$rr);
    }

Заранее признателен 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)