Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Tworzenie menu
Forum PHP.pl > Forum > Przedszkole
jaackoo
Witam
Dziś postanowiłem zrobić pierwszą stronę w php i mam mały problem z menu - chodzi o to iż normalnie w html mogę ustawić tak by była np. pogrubiona czcionka na menu przycisku który aktualnie jest aktywny w css jako activ. po wstawianiu w php już mi to nie działa. Jeśli mogę Was prosić to chciałbym by ktoś napisał co mam poprawić.

  1. <?php
  2.  
  3. if(isset($_GET['page']))
  4. {
  5. $page = $_GET['page'];
  6. } else
  7. {
  8. $page = 'start';
  9. }
  10.  
  11. switch($page)
  12. {
  13. case 'kontakt':
  14. $pageFile='kontakt.php';
  15. break;
  16. case 'oferta':
  17. $pageFile='oferta.php';
  18. break;
  19. case 'register';
  20. $pageFile = 'register.php';
  21. break;
  22.  
  23. default:
  24. $pageFile='start.php';
  25. break;
  26. }
  27. include_once($pageFile);
  28.  
  29. include_once('html_header.php');
  30. include_once('header.php');
  31. include_once('menu.php');
  32. echo $pageContent;
  33. include_once('footer.php');
  34.  
  35. ?>


Tak wygląda mój plik index.php
Będe wdzięczny za każdą pomoc
Pozdrawiam
lobopol
Wybacz, ale to co nam podałeś niewiele mówi, skoro chcesz dodać class="activ" aktywnej stronie w menu to po prostu dodaj, albo pokaż jak to robisz.
jaackoo
W menu mam tak
  1. <li class="kontakt"><a href="?page=kontakt">KONTAKT</a></li>


wcześniej jak miałem całą stronę w html to działało activ w css ale teraz juz nie działa:(
Jeśli potrzeba podać coś więcej to piszcie

Dzięki za odpowiedź
lobopol
No i gdzie ty tu dodałeś klasę activ, wstaw sobie i już
jaackoo
Activ dałem tak w css
  1. ul.nav a:hover {
  2. font-weight:400;
  3. color: #666666;
  4. }
  5.  
  6. ul.nav a:active, ul.nav a:focus{
  7. font-weight:500;
  8. color: #000000;
  9. }
lobopol
Active oznacza to, że jest element w danym momencie kliknięty.
jaackoo
Chodzi Tobie bym na danej podstronie przy konkretnym przycisku dał klase activ?

A co w przypadku jeśli ja pracuje tylko na pliku idnex.php do którego wczytuje tylko różne treści z różnych plików?
zmienia się tylko jeden div gdzie jest treść a menu jest w jednym pliku
Niktoś
W js w evencie onload pobierasz adres strony(url) i według niego dodajesz klase activ do odpowiedniego pola.To tak w skrócie.
jaackoo
A czy mógłbyś podać jakiś przykład?
Byłbym bardzo wdzięczny
lobopol
Ech, ciężko się z tobą rozmawia, zacznę więc od początku:
1. Użycie selektora :active oznacza iż po kliknięciu linka do momentu puszczenia tego kliknięcia możemy mu nadać konkretne style http://www.w3schools.com/cssref/tryit.asp?...ycss_sel_active (kliknij na linka lewym klawiszem, ale nie puszczaj)
2. Jeżeli chcesz aby link w menu miał inny styl w momencie gdy dana strona jest aktywna, musisz temu linkowi dać jakąś klasę i tą klasę ostylować. Np.
  1. $strona = isset($_GET['strona']) ? $_GET['strona'] : '';
  2.  
  3. echo '<a href="?strona=test"'.($strona == 'test' ? ' class="active"' : '').'>test</a>';
  4. echo '<a href="?strona=test2"'.($strona == 'test2' ? ' class="active"' : '').'>test</a>';
  5.  


Niktoś tego się nie powinno robić w ten sposób, skoro możemy to uniezależnić od przeglądarki.
proton
Mała poprawka, nie "strona"a "page" w twoim przypadku smile.gif I ten kod wyżej to powinieneś w menu.php umieścić smile.gif
jaackoo
Wielkie dzięki za podpowiedzi ale mam ostatnie pytanie.
Jak już pisałem to moja pierwsza przygoda z php więc nie wiem jak dokładnie połączyć to z moim aktualnym menu, jeśli możesz to proszę napisz jak zmienić dokładnie mój przykład:(

  1. <div class="sidebar1">
  2. <ul class="nav">
  3. <li><a class="right" href="?page=oferta">OFERTA</a></li>
  4. <li><a href="?page=realizacje">REALIZACJE</a></li>
  5.  
  6. <ul class="navi">
  7. <li><a class="right" href="?page=strona1">strona1</a></li>
  8. <li><a class="right" href="?page=strona2">strona2</a></li>
  9. </ul>
  10.  
  11.  
  12. <li class="inne"><a href="?page=inne">INNE</a></li>
  13. <li class="kontakt"><a href="?page=kontakt">KONTAKT</a></li>
  14. </ul>
  15. <!-- end .sidebar1 --></div>


Tak dokładnie wygląda moje menu.

Będe bardzo wdzięczy za wyrozumiałość i pomoc

Pozdrawiam
lobopol
Masz naprawdę solidny przykład, przyjrzyj mu się i wykorzystaj to i tak niemal gotowiec.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.