2011-12-24 4 views
0

я удалил навигационную часть из всех файлов и хранятся в отдельном файле с именем nav.php, а затем назвал его в нужном месте, какКак сделать элемент навигации активным на выбранном?

include ('includes/nav.php'); 

Содержание файла nav.php выглядит следующим образом :

<ul> 
     <li<?php if ($thisPage=="http://www.finalyearondesk.com") 
      echo " class=\"selected\""; ?>> 
       <a href="http://www.finalyearondesk.com">Home</a></li> 

     <li<?php if ($thisPage=="http://www.finalyearondesk.com/contact.php") 
      echo " class=\"selected\""; ?>> 
       <a href="http://www.finalyearondesk.com/contact.php">Contact US</a></li> 

     <li<?php if ($thisPage=="http://www.finalyearondesk.com/downloads.php") 
      echo " class=\"selected\""; ?>> 
       <a href="http://www.finalyearondesk.com/downloads.php">Downloads</a></li> 
</ul> 

Но проблема в том, что я не могу получить текущий элемент, выбранный при посещении этой страницы. Что не так с моим кодом?

+0

var $ thisPage равен чему? –

+0

У меня есть три страницы, которые мне нужно отобразить. –

ответ

0

Вы не назначая значение $ thisPage. Добавьте этот следующий код до ul в nav.php

<?php 
$protocol = strpos(strtolower($_SERVER['SERVER_PROTOCOL']),'https') 
       === FALSE ? 'http' : 'https'; 
$host  = $_SERVER['HTTP_HOST']; 
$script = $_SERVER['SCRIPT_NAME']; 

$thisPage = $protocol . '://' . $host . $script; 
?> 
+0

Спасибо, это сработало, я этого раньше не знал. –

0

убедитесь, вы назначаете полный URL до $ thisPage, и это должно быть до вашей линии

include ('includes/nav.php'); 

, потому что в вашем niv.php вы не назначая $ thisPage

Смежные вопросы