Тема: При определенной тсраницы свой css дляменю

Допустим есть меню:

<a href="index.php?id=1" title="Главная" id="text_lnk_menu_1">1</a><br> 
<a href="index.php?id=2" title="Новости" id="text_lnk_menu_1">2</a><br> 
<a href="index.php?id=3" title="Новости" id="text_lnk_menu_1">3</a><br> 
... итд

нужно чтобы к примеру при заходе на страницу http://www.site.ru/index.php?page=1 ссылка становилась такой:

<a href="index.php?page=1" title="Главная" id="text_lnk_menu_1"><b>1</b></a><br>

при заходе на вторую страницу она так же становилась выделеной

<a href="index.php?page=2" title="Новости" id="text_lnk_menu_1"><b>2</b></a><br>

и так далее для каждой ссылки в меню, как это можно реализовать ?

Strawberry 1.1.1

Re: При определенной тсраницы свой css дляменю

Killa, хотя задача немного другая, но решение похожее: http://strawberry.goodgirl.ru/forum/topic/1442/ (начиная с поста #8).

Re: При определенной тсраницы свой css дляменю

спасибо, решил сделать по сумашедшему конечно но верно:

<?php
$id_serv= $_SERVER['REQUEST_URI'];

if ($id_serv == "/index.php") {

echo '&nbsp;<a href="index.php"><b>Главная</b></a><br>';

} else {

echo '&nbsp;<a href="index.php">Главная</a><br>';

} 
?>

Отредактировано Killa (01 Feb 2010 15:09:03)

Strawberry 1.1.1

Re: При определенной тсраницы свой css дляменю

Killa, а что тут сумашедшего? Мыслите верно. Но правильнее всё-таки так:

<?php

if (!$HTTP_SERVER_VARS['QUERY_STRING']) {

echo '&nbsp;<a href="index.php"><b>Главная</b></a><br>';

} else {

echo '&nbsp;<a href="index.php">Главная</a><br>';

} 
?>

Re: При определенной тсраницы свой css дляменю

Спасибо да так лучше, а возможно ли еще больше сократить код? он у меня сейчас примерно выглядит так:

<?php

if (!$HTTP_SERVER_VARS['QUERY_STRING']) {

echo '&nbsp;<a href="index.php"><b>Главная</b></a><br>';

} else {

echo '&nbsp;<a href="index.php">Главная</a><br>';

} 
?>

<?php

if (!$HTTP_SERVER_VARS['QUERY_STRING']) {

echo '&nbsp;<a href="index.php?id=zakaz"><b>Заказ</b></a><br>';

} else {

echo '&nbsp;<a href="index.php?id=zakaz">Главная</a><br>';

} 
?>


<?php

if (!$HTTP_SERVER_VARS['QUERY_STRING']) {

echo '&nbsp;<a href="index.php?id=yslugi"><b>Услуги</b></a><br>';

} else {

echo '&nbsp;<a href="index.php?id=yslugi">Услуги</a><br>';

} 
?>
Strawberry 1.1.1

Re: При определенной тсраницы свой css дляменю

Killa, оптимальнее не придумаешь:

<style>
.active_link {font-weight: bold;}
</style>

<div<?=(!$HTTP_SERVER_VARS['QUERY_STRING'] ? ' class="active_link"' : ''); ?>><a href="index.php">Главная</a></div>

<div<?=($_GET['id'] == 'zakaz' ? ' class="active_link"' : ''); ?>><a href="index.php?id=zakaz">Заказ</a></div>

<div<?=($_GET['id'] == 'yslugi' ? ' class="active_link"' : ''); ?>><a href="index.php?id=yslugi">Услуги</a></div>

Извините, давайте закончим эту тему? А то ещё немного и я за вас весь интерфейс сайта напишу wink

Re: При определенной тсраницы свой css дляменю

понял спасибо smile

Strawberry 1.1.1

Re: При определенной тсраницы свой css дляменю

Killa, сделал так, как Вы написали - всё получается, при этом можно вместо названия категории написать динамический код.

Ваш код работает, но выделяется название категории только в самой категории , тоесть - /politik/.

А вот при открытии новости из категории название категории не выделяется.

Код пробовал такого вида:

<?php $id_serv= $_SERVER['REQUEST_URI'];
if ($id_serv == "/politik") {
echo '<a href="../politik" class="active"><span>Политика</span></a>';
} else {
echo '<a href="../politik"><span>Политика</span></a>';
} ?>

Код ANT-Softа почемуто не заработал, кроме выделения страницы Главная...