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 » PHP » Программирование на PHP » проблемы с Навигацией сайта

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

1. onixred - 13 Ноября, 2009 - 14:47:06 - перейти к сообщению
Я пишу курсовую работу (сайт)
У меня возникли проблемы с навигацией мне нужно чтобы текущий раздел навиграций отличался от других цветом ! как это сделать ?
я использую ссылки
CODE (text):
скопировать код в буфер обмена
  1. <a href="index.php">Главная</a>
  2.                 <a href="lessons.php">Теория</a>
  3.                 <a href="articles.php">Практика</a>            
  4.                 <a href="contacts.php">Помощь</a>
  5.                 <a href="map.php">Карта учебника</a>

и css
CODE (text):
скопировать код в буфер обмена
  1.  
  2. /* CSS Document */
  3. .main_border {border:1px solid #000000;}
  4. p {font-family:Verdana; font-size:12px; margin: 15px;}
  5. .left {background-color:#f6f6f6; border-right:4px solid #222222; }
  6. body { background-image:url(img/bg.gif)}
  7. p.title {
  8. background-color: #621E7E;
  9. color: #ffffff;
  10. font-weight:bold;
  11. margin:5px;
  12. padding:5px;
  13. }
  14.  
  15. #coolmenu{
  16. border: 1px solid gray; /*Стиль рамки */
  17. border-bottom-width: 0;
  18. width: 93%; /*Ширина меню */
  19. background-color: #f6f6f6;  /*Фоновый цвет ячейки*/
  20. margin:8px; /*Ширина отступов*/
  21. }
  22.  
  23. * html #coolmenu{
  24. width: 150px;/*Ширина меню для Internet Explorer*/
  25. }
  26.  
  27. #coolmenu a{
  28. font: bold 13px Verdana; /*Шрифт текста*/
  29. padding: 2px; /*Внутренний отсутп текста ссылки от краев ячейки*/
  30. padding-left: 4px;/*Внутренний отсутп текста ссылки от левого края ячейки*/
  31. display: block;
  32. width: 100%; /*Ширина ячейки*/
  33. color: #000000;  /*Цвет текста*/
  34. text-decoration: none; /*Подчеркивание у ссылок - нет*/
  35. border-bottom: 1px solid gray;
  36. }
  37.  
  38. html>body #coolmenu a{
  39.  
  40. width: auto;
  41. }
  42.  
  43. #coolmenu a:hover{
  44.  
  45. background-color: #cccccc; /*Фоновый цвет ячейки при наведение курсора*/
  46. color: #000000;  /*Цвет текста при наведении курсора*/
  47. }
  48.  
2. DeepVarvar - 13 Ноября, 2009 - 23:02:22 - перейти к сообщению
Для начала воспользоваться поиском на нашем форуме...
3. OverNik - 14 Ноября, 2009 - 00:32:05 - перейти к сообщению
В чем собствено проблема я так и не понял если чесно, ведь у тебя не генерирует все страници один index.php, а есть несколько страниц, lessons.php, articles.php и тд. В них и задай одельный стиль.
В ином случаи просто воспользуйся глобальной переменой $_SERVER и поставь условия для генерации стиля, к примеру
PHP:
скопировать код в буфер обмена
  1. if($_SERVER['SCRIPT_FILENAME'] == "lessons.php")
  2. {
  3. #стиль для  выделения lessons.php
  4. }
  5. else
  6. {
  7. #обычный стиль
  8. }
4. DeepVarvar - 14 Ноября, 2009 - 00:55:52 - перейти к сообщению
Именно это описано было уже несколько раз...
5. JustUserR - 14 Ноября, 2009 - 01:09:37 - перейти к сообщению
onixred Действительно проблема достаточно стандартная - заводите отдельный CSS-стиль для обычного элемента меню и для текущего выделенного - и соответственно сверяете текущий выводимый пункт с $_SERVER['PHP_SELF'] и выводите нужный стиль
Это же можно сделать и на клиенте с помощью JS - там сравниваете window.locaton.href
6. onixred - 14 Ноября, 2009 - 06:02:03 - перейти к сообщению
что хранится в переменой $_SERVER?
7. OverNik - 14 Ноября, 2009 - 06:13:14 - перейти к сообщению
Это глобальная переменая, если её вывести в чистом виде то получим array,
её нужно вызывать с индексами, про них можно почитать тут http://www.php.su/articles/?cat=...ars&page=015
8. onixred - 14 Ноября, 2009 - 06:20:52 - перейти к сообщению
СПС
(Добавление)
Вроди все работает тока пришлось немного постараться
CODE (text):
скопировать код в буфер обмена
  1.  
  2. $B='';
  3. $C='';
  4. $A=$_SERVER['SCRIPT_FILENAME'];
  5. $x=strlen($A)-1;
  6. $i=0;
  7. while ($x>0)
  8. {
  9. if ($A[$x]!=='/') {$B[$i]=$A[$x]; $x--;  $i++; } else { $x=0;   }
  10. }
  11. for ($y=count($B)-1; $y>=0; $y--) { $C=$C.$B[$y];  }
  12.  

этот код обезает весть путь до первого слеша! тоесть
http://localhost/phpsite/index.php а всего index.php
9. OverNik - 14 Ноября, 2009 - 08:20:11 - перейти к сообщению
$_SERVER['PHP_SELF'] пробуй, если файлы хранятся в рут деректории то все ок будет

 

Powered by ExBB FM 1.0 RC1