Как сделать меню навигации?
Требование:
При переходе на соответствующий раздел сайта, пункт меню должен перестать быть ссылкой на этот раздел.
Заранее благодарю.
А на чем именно его требуется делать? На JS или генерировать в серверных скритпах (типа скриптов PHP или Perl)?
PHP
PHP
Более чем просто:)
1 Задаёшь переменную с названием странички.
2 В меню проверяешь, что если переменная == названию странички, то она не являеться ссылкой.
к примеру:
if($page != "index")echo "<a href=\"index.php\">Главная</a>";
else echo "Главная";
if($page != "info") echo "<a href=\"info.php\">Информация</a>";
else echo "Информация";
if($page != "help") echo "<a href=\"help.php\">Помощь</a>";
else echo "Помощь";
if($page != "about") echo "<a href=\"about.php\">О нас</a>";
else echo "О нас";
И далее в том же духе:)
Более чем просто:)
1 Задаёшь переменную с названием странички.
2 В меню проверяешь, что если переменная == названию странички, то она ...
Спасибо за идею. Я сначала это себе так и представлял (ну и прочитав твой совет, так и сделал). Потом мне пришла в голову рдругая идея, как мне кажется, более универсальная. А суть ее вот в чем:
Все пункты меню и адреса (относительные), на которые они ссылаются, заносятся в БД. А потом отдельный скрипт (например menu.php) сравнивает значение переменной $_SERVER['PHP_SELF']. Вот и все. И не надо переменных прописывать, и пунктов меню можно сколько хочешь добавлять. Ну вобщем, смотри код:
echo "<div id=\"menu\">\n<ul>\n";
$r = $this -> get_items ();
for ($i = 0; $i < mysql_num_rows($r)-1; $i++) {
$f = mysql_fetch_array ($r);
if ($f["location"] === $_SERVER['PHP_SELF'])
{echo "".$f["name"]."\n"; continue;}
echo "<a href=\"".$f["location"]."\">".$f["name"]."</a>\n";
}
echo "[/list]\n</div>\n";
}
Еще раз спасибо за идею.
Спасибо за идею. Я сначала это себе так и представлял (ну и прочитав твой совет, так и сделал). Потом мне пришла в голову рдругая идея, как мне кажется, более универсальная. А суть ее вот в чем:
Все пункты меню и адреса (относительные), на которые они ссылаются, заносятся в БД. А потом отдельный скрипт (например menu.php) сравнивает значение переменной $_SERVER['PHP_SELF']. Вот и все. И не надо переменных прописывать, и пунктов меню можно сколько хочешь добавлять. Ну вобщем, смотри код:
echo "<div id=\"menu\">\n<ul>\n";
$r = $this -> get_items ();
for ($i = 0; $i < mysql_num_rows($r)-1; $i++) {
$f = mysql_fetch_array ($r);
if ($f["location"] === $_SERVER['PHP_SELF'])
{echo "".$f["name"]."\n"; continue;}
echo "<a href=\"".$f["location"]."\">".$f["name"]."</a>\n";
}
echo "[/list]\n</div>\n";
}
Еще раз спасибо за идею.
Не за что:). Мне просто было лень думать, я и написал, что проще:). Думал так будет понятней:))))