Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2017, 15:29   #1
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
Восклицание Активный пункт меню

Добрый день!

Помогите, пожалуйста. Есть вот такое меню.
PHP код:
<ul id="nav">
     <
li><a href="http://site.ru/home">Главная</a></li>
     <
li><a href="http://site.ru/first">Первая</a></li>
     <
li><a href="http://site.ru/second">Вторая</a></li>
     <
li><a href="http://site.ru/third">Третья</a></li>
</
ul
Хранится в php файле, является началом body на всех страницах сайта. Нужно, чтобы в зависимости от страницы, на которую перешел пользователь, становился активен нужный пункт меню. То есть, просто добавлялся в тег <li> класс "active".
Например, пользователь перешел на Вторую страницу, значит код должен стать таким:
PHP код:
<ul id="nav">
     <
li><a href="http://site.ru/home">Главная</a></li>
     <
li><a href="http://site.ru/first">Первая</a></li>
     <
li class="active"><a href="http://site.ru/second">Вторая</a></li>
     <
li><a href="http://site.ru/third">Третья</a></li>
</
ul
Помогите, пожалуйста
Maray вне форума Ответить с цитированием
Старый 16.05.2017, 19:56   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

PHP код:
<?php
$menu 
= [
    
'home' => 'Главная',
    
'first' => 'Первая',
    
'second' => 'Вторая',
    
'third' => 'Третья',
];
$active_menu_item trim($_SERVER['REQUEST_URI'], '/');
?>

<ul id="nav"> 
    <?php 
    
foreach($menu as $url => $title):
        
$li_class = ($url == $active_menu_item) ? ' class="active"' '';
    
?>
     <li<?= $li_class?>>
        <a href="http://site.ru/<?= $url?>"><?= $title?></a>
    </li>
    <?php endforeach; ?>
</ul>
Andkorol вне форума Ответить с цитированием
Старый 17.05.2017, 13:15   #3
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
По умолчанию

Спасибо за помощь!
Maray вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить пункт в контекстное меню Artsiom Windows 3 28.03.2017 10:15
Активировать пункт меню проводника WennY Win Api 24 29.08.2013 20:00
доработать пункт меню a.n.o.n.i.m Общие вопросы C/C++ 10 01.11.2011 15:45
Скрыть пункт меню SKS Общие вопросы Delphi 7 25.10.2011 06:26
И сново sendMessage =) Как нажать пункт верхнего меню и меню правой кнопки? TwiX Win Api 9 15.10.2009 01:57