Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Активный пункт меню
Форумы портала PHP.SU » » Вопросы новичков » Активный пункт меню

Страниц (1): [1]
 

1. Kyran29 - 23 Июня, 2013 - 09:38:08 - перейти к сообщению
Добрый день.

Я новичок в PHP, поэтому мне многое еще не понятно. Хотелось бы реализовать такую задачу: Есть меню сайта, нужно чтобы активный пункт меню подсвечивался, реализовано это в CSS. А хотелось бы управлять меню с помощью кода PHP. Ниже привожу код меню HTML, в данном коде - "Главная страница" активна.

CODE (html):
скопировать код в буфер обмена
  1. <!-- begin navigation -->
  2. <ul id="nav" class="sf-menu">                                                          
  3.    <li class="current-menu-item"><a href="#">Главная</a></li>                                  
  4.        <li><a href="#">Другая страница</a>
  5.          <ul>
  6.             <li><a href="#">Другая страница - 1</a></li>
  7.             <li><a href="#">Другая страница - 2</a></li>
  8.          </ul>                                 
  9.        </li>
  10.    <li><a href="#">Не главная</a></li>                                 
  11.    <li><a href="#">Еще одна</a></li>
  12.    <li><a href="#">Контакты</a></li>                                   
  13. </ul>
  14. <!-- end navigation -->


Вот как-то так.
Огорчение
2. Fetis - 23 Июня, 2013 - 10:00:53 - перейти к сообщению
А чем тебе css не угодил? :active, :hover и остальное уже не актуально?
3. Kyran29 - 23 Июня, 2013 - 10:16:53 - перейти к сообщению
Что бы активировать другой пункт меню придется переписывать HTML (к каждой странице свой код), а если пунктов меню много. Вот и не устраивает.

Вот примерно надо как-то так реализовать -
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if ($adrespage==$_SERVER['REQUEST_URI']) {
  3. echo '<li class="current-menu-item">';
  4. }
  5. ?>

(Добавление)
Подскажите, пожалуйста, вот такой код можно использовать? (я в PHP ни «бум-бум»)

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $adrespage = array('http://main_site.ru/page.html','http://main_site.ru/page_1.html','http://main_site.ru/page_2.html','http://main_site.ru/page_3.html','http://main_site.ru/page_4.html');
  3. if (in_array($_SERVER['REQUEST_URI'], $adrespage)) {
  4.     echo '<li class="current-menu-item">';
  5. }
  6. ?>

 

Powered by ExBB FM 1.0 RC1