Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem w menu opcja ACTIVE
kps
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 14.09.2009

Ostrzeżenie: (0%)
-----


Witam,

Chciałbym zapytać jak najlepiej robić menu w css.

Zazwyczaj strony robię tak:

Wszystko składam w jednym pliku

czyli:

- header
- w hederze zazwyczaj jest menu
- lewa strona
- prawa strona
- footer

a później żeby zrobić stronę główną w pliku index wstawiam coś takiego:
  1. <?php include("header.php");?>
  2. <?php include("left.php");?>
  3. <?php include("tresc.php");?> - to jest prawa strona
  4. <?php include("footer.php");?>


a w podstronach zmieniam tylko treść czyli:
  1. <?php include("header.php");?>
  2. <?php include("left.php");?>
  3.  
  4. Treść podstrony
  5.  
  6. <?php include("footer.php");?>


Dzięki temu z lewej strony mam zawsze to samo a prawą sobie zmieniam.

Powiedzcie mi jak można zrobić żeby w menu na każdej podstronie link był powiedzmy podświetlany
wiem że można użyć klasy "active" i ją odpowiednio opisać ale w moim przypadku na każdej podstronie
jest ten sam kod menu.

Pzdr.
Go to the top of the page
+Quote Post
pablos83
post
Post #2





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 3.05.2006

Ostrzeżenie: (0%)
-----


PHP (mySQL) + CSS

1. W MySQL masz rekordy ktore odpowiadaja konkretnej stronie
2. Odczytujesz ten rekord i jeden z nich bedacy kotwica (nie wiem jak inaczej to nazwac) podstawiasz do hrefa np.: index.php?page=kotwica
3. W <a> wstawiasz zamiast stałej klasy pobranej z CSS zmienną PHP
4. robisz petle while przy odczytywaniu tresci z mysql i w niej warunek if


  1. <ul class="admin_nav_button">
  2. <?php
  3. mysql_connect('localhost', 'login', 'haslo');
  4. mysql_select_db('baza');
  5. mysql_query('SET NAMES latin2');
  6. $result = mysql_list_tables('baza'); // pobierz nazwy tabel (ja mam zrobione tak ze kazda strona ma swoja tabele w mysql ->
  7. while ($row = mysql_fetch_row($result)){
  8. if ($_GET['page'] == $row[0]) { // jeżeli rekord pobrany (twoja kotwica) jest taka sama jak $_GET[page], gdzie $_GET[page] to kotwica z href
  9. $klasa_css = "admin_nav_button_active"; //twoja nazwa klasy w css (link_podswietlony)
  10. }
  11. else {
  12. $klasa_css = "admin_nav_button"; // a tu link_zwykly
  13. }
  14. print "<li class=\"$klasa_css\"><a class=\"$klasa_css\" href=\"admin.php?page=$row[0]\">$row[0]</a></li>"; // -> wyświetl menu z nazwami grup
  15. }
  16. ?>
  17. </ul>


Wynik zamiast print możesz zrobić jako zmienną dodając kolejne rekordy do niej operatorem .= i wyświetlając w dowolnym miejscu.
Oczywiście po wejściu bezpośrednim na twoją stronę żaden link nie będzie podświetlony ponieważ zmienna "kotwicy" $_GET[page] nie będzie ustawiona (isset). Ale pokombinujesz już sobie sam jak to zrobić, prawda? (IMG:style_emoticons/default/smile.gif)

pozdr
Go to the top of the page
+Quote Post
cook
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 23.01.2010

Ostrzeżenie: (0%)
-----


Nie wiem czy dobrze rozumiem ale spróbuj tego: http://vivee.info/2008/09/02/zakladki-do-sidebara-podpinamy/ edytuj sobie tylko na swoje potrzeby. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 02:12