Jump to content
  • 0

подсветка ссылки активной страницы


dglushkov
 Share

Question

Всем привет.

 Меню выводится так:

 

<div id="nav">

<ul>
<?php
$categories = get_categories();
foreach($categories as $link):
?>
<li>
<a href="index.php?view=<?php echo $link['cat_id'];?>"><span class="link"><?php echo $link['name'];?></span></a>
</li>
<?php endforeach;?>
</ul>
</div>
 
css:
 
{
font-size: 22px;
text-decoration: none;
padding-bottom: 8px;
border-bottom: 2px solid #666666;
}
 
a:hover 
color: #FFCC00; 
text-decoration: none;
border-bottom: 3px solid #FFCC00;
}
 
.link 
color: #666666; 
}
 
#nav
{
position: relative; 
margin-left: 4%;
}
 
li
{
display: inline;
margin-right: 18px;
}
 
Вопрос как сделать подсветку ссылки активной страницы?
#nav ul li.active { ... } не работает (
Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

У меня дома телевизор сломался, почему?

А у вас вообще ставить этот .active?

ставил конечн когда пробывал, может как то не правильно делал. не могли бы вы просто рассказать что, как и куда поставить чтобы это заработало?

Link to comment
Share on other sites

  • 0

вообще-то нужно либо с помощью js, либо с помощью php проверять, если ты на этой странице, то присваивать пункту меню класс=active

напиши как это конкретно должно выглядеть, код я выложил.

Link to comment
Share on other sites

  • 0

<?php

$categories = get_categories();

foreach($categories as $link):

if($link['cat_id'] == $_GET['cat_id']) {

$link = 'active';

} else {

$link = 'link';

}

?>

<li>

<a href="index.php?view=<?php echo $link['cat_id'];?>">

<span class="<?=$link?>"><?php echo $link['name'];?></span>

</a>

</li>

<?php endforeach;?>

Link to comment
Share on other sites

  • 0
<?php  $categories = get_categories();foreach($categories as $link):if($link['cat_id'] == $_GET['cat_id']) {  $link = 'active';} else {  $link = 'link';}?> <li><a href="index.php?view=<?php echo $link['cat_id'];?>">  <span class="<?=$link?>"><?php echo $link['name'];?></span></a></li><?php endforeach;?>

попробывал, вместо ссылок получились какие то палочки, а гугл предложил перевести страницу с сербского.

Link to comment
Share on other sites

  • 0

фигово пробовали значит.

.link {color: #666666;}.active {color: #000000;}

вместо: if($link['cat_id'] == $_GET['cat_id']) {

надо: if($link['cat_id'] == $_GET['view']) {

еще в вашей функции надо было переменную по другому назвать, и <?= у меня почему то не работает - не скажете почему?

в любом случае большое спасибо, однако схема работает только конкретно на те страницы на которые ведут эти ссылки, а вот когда переходишь по внутренним ссылкам этих страниц, снова становятся не подсвеченными, что очень огорчает, т.к. подсветка эта задумана как выделение активного раздела - что можно сделать?

внутренние ссылки формируются так:

<?php
$print = get_content();
foreach($print as $item):
?>
<div class="print_img">
<a href="index.php?view=product&id=<?php echo $item['id'];?>"><img class="picture" src="img/<?php echo $item['image'];?>"></a>
<?php echo $item['title'];?>
</div>
<?php endforeach;?>
 
Edited by dglushkov
Link to comment
Share on other sites

  • 0

странно что не работает <?=

а в этот код можно тоже самое добавить, просто другие названия переменных.

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy