Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Oddzielne menu dla każdej podstrony
Forum PHP.pl > Forum > PHP
BatGraf
Cześć

Słuchajcie, mam taki dylemat:

Chcę zrobić stronę, która ma poziome menu, przełączające między podstronami i na każdej podstronie ma być inne menu, które odwołuje sie tylko do danej podstrony.

Używam:

  1. <?php
  2. $str = $_GET["id"];
  3. if ($str=="") $str="start";
  4. if (preg_match("/^[a-z0-9]+$/",$str) and file_exists("include/$str.php")) {
  5. include("include/$str.php");
  6. } else {
  7. echo "<p>Taka strona nie istnieje!</p>";
  8. }
  9. ?>


w części gdzie ma pojawiać się treść podstrony, a linki w menu poziomym mam

  1. <a href="?id=strona1">Strona1</a>


i to działa. Po kliknięciu na poziome menu, przełącza na wskazaną podstronę, ale ...

Jak zrobić, żeby wraz z podstroną wczytywało się menu dotyczące wyłącznie podstrony, np z lewej strony?

Bardzo proszę o pomoc, nie potrafię nawet zapytać googla czego szukać smile.gif

Z góry ogromne dzięki. smile.gif
maniekl2
A nie możesz zrobić tego samego z menu co z treścią? Też includować menu w zależności od $_GET['id']. Albo nawet nie inludować tylko jakiegoś switcha zastosować.

Albo w pliku includowanym zrobić dwie zmienne a później je wyświetlić :
  1. <?php
  2. $tresc = 'bleble';
  3. $menu = 'link1 , link2';
  4. ?>
BatGraf
tak własnie chcę zrobić - dwa divy - jeden z treścią, drugi z menu, ale nie bardzo wiem jak skonstruować potem link w menu w podstronie
maniekl2
No to zrób dwa divy (menu, tresc) includuj jak includowałes tylko w pliku treść wyświetlaj w zależności od zmiennej action - zrób coś takiego.
  1. //plik 1.php
  2. $menu =
  3. '<a href="index.php?id=1&action=1">Akcja1</a>
  4. <a href="index.php?id=1&action=2">Akcja2</a>
  5. <a href="index.php?id=1&action=3">Akcja3</a>
  6. ';
  7. switch($_GET['action']){
  8. case '1':
  9. $tresc = 'tresc1';
  10. break;
  11. //itd.
  12. }

A później w pliku index wyświetl $tresc i $menu
thek
Ja niedawno sam sobie robiłem podobne rozwiązanie. Nie identyczne jednak. Chciałem by w szablonie pokazywało mi wszystkie, ale niewidoczne dla użytkownika domyślnie. Stąd menu główne jest widoczne zawsze, ale pod nim jest kilka divów ustawionych na display: none. Zdarzenia onmouseover zmieniają widoczność diva z submenu po najechaniu na konkretny link w menu głównym. Zawodzi to jedynie gdy ktoś wyłączy obsługę JS. W kodzie jednak wszystkie linki są widoczne.
W Twoim przypadku można robić tak jak opisują tutaj, gdyż widoczność submenu masz już po kliknięciu w link i przejściu na podstronę, nie zaś po najechaniu tylko, jak w przypadku jaki opisałem. Jeśli jednak w przyszłości zechcesz robić to "w locie" to możesz jeszcze rozważyć użycie AJAX.
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.