Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML] Szkielet strony [rozwiązany problem - wątek do zamknięcia]
Forum PHP.pl > Forum > Przedszkole
renderman
Witam wszystkich smile.gif

Od jakiegoś czasu troche siedzę w php = staram się przygotowac portfolio, jak sie okazało sam HTML stał się jak dla mnie mało wygodny więc ruszylem temat PHP. Zaznaczę na początku że nie szukam gotowca bo już pewien zarys strony posiadam szukam rozwiazania w kwesti stworzenia szkieletu strony na tyle elastycznego bym mógł : ale to zaraz wyjaśnie.

Obecnie korzystam z funkcji
  1. <?php
  2. if(empty($_GET['id']) or $_GET['id']==&#092;"portfolio\"){ include(\"portfolio.php\");  }
  3. if($_GET['id']==&#092;"logotypy\") {  include(\"portfolio_logotypy.php\"); }
  4. if($_GET['id']==&#092;"archiwum_3d\") { include(\"portfolio_archiwum_3d.php\");  }
  5. ?>


Dzięki temu rozwiązaniu mogę wywołac moje podstrony dzięki metodzie GET
  1. ../index.php?id=logotypy

Co zasadniczo rozwiązywało by sprawę... gdyż wywołując link wyświetlam sobie treśc w danym div-ie i to jest ok.
ale...
Mam sytuacje w której posiadam menu/ i chciałbym aby po uruchomieniu linku np Grafika 2D... załadował się w osobnym div-ie plik z menu z podkategoriami. W sumie to jest proste do zrobienia..
1. Ustawiam link dla GRAFIKA - ../index.php?id=grafika
2. Ładuje w odpowiednim DIV plik o nazwie np grafika.php
ale....
Gdy wciskam w podmenu grafika.php link do konkretnej juz kategorii to całą strona zostaje przeładowana i stan menu / podmenu jest zresetowany... gdyż załadował się sam ../index.php?id=logotypy

Wiem że można jakoś to zrobic za pomocą ( dwóch lub wiecej ) zmiennych. Zdaje się że to będzie coś jak
Kod
/index.php?id=grafika&id=podmenu1

Jak teraz zrobic by jedną zmienną otworzyc w centrum strony dany link,a drugą zmienną zmienic stan pod menu na GRAFIKA by po odświeżeniu strony wszystko się nie resetowało.. Wiem że mozna to zrobic jakoś ciasteczkami ale jak dla mnie uczenie się kolejnej rzeczy mija się z celem, może da się to prosto zrobic w php...?
Lonas
W $_GET mozesz przekazwyac w jakiej czesci strony sie znajdujesz i ladowac odpowiednie elementy w menu czy zawartosci.


jezeli chcesz obejrzec np galerie to przekazujesz index.php?dzial=pokaz_galerie

teraz chcesz obejrzec galerie 2d ktora jest w dziale galeria : index.php?dzial=pokaz_galerie&szczegoly=galeria2d i tak dalej - czym glebiej jestes powtarzasz wszystkie parametry dodajac nowe - a skrypt ktory jest odpowiedzialny za ladowanie zawartosci strony w zaleznosci od tego jakie i ile dostanie parametrow taki dzial zaladuje
renderman
Chyba źle to rozpisałem, zależy mi na tym by w 2 osobnych div-ach załadowac 2 rózne pliki php

1. Menu głowne - statyczny plik php ( w nim link Galeria 2d, Galeria 3d etc.. )
menu.php
2. Menu podrzędne - zaladowany po wciśnieciu Galeria 2d /index.php?id=Galeria2d -> galeria2d.php a wnim ( logotypy, grafika, cliparty ) lub /index.php?id=Galeria3d ( a
wnim wizualizacjie, itp )...
menu_p_stan_0.php
menu_p2d.php
menu_p3d.php

3. Centrum strony - po wcisnieciu linku np logotypy chce aby Menu Podrzędne zostało na miejscu a nie zresetowalo sie do stanu pierwotnego np.
no i najważniejsze jak to będzie wyglądało od strony kodu php...
Lonas
No wiec Ci mowie : w momencie kliknieca na logotypy przesylasz w tablicy $_GET parametr jakie menu jest aktualnie rozwiniete.

W menu z kolei zczytujesz czy jest lub jaki jest wysylany paramert i rozwijasz odpowiedni dzial.
renderman
Tak tylko nie zrozumiałem w pierszej chwili bo nie powiedziales jednej rzeczy,.. że obie definicje id muszą byc rózne.... a ja za każdym razem robiłem ten sam bład czyli di=1 & id=2 a powinno byc przecież id1=1 & id2=2 bez tego ładuje mi się albo pierwsza strona albo druga...a nie obie na raz .... O takie wyjaśnienie mi chodziło no ale mimo wszystko Dziękuje smile.gif

tak więc rozwiązanie problemu wygląda następująco

../index.php?id=menu_grafika2d&id2=logotypy

  1. <div id="menu_podrzedne">
  2. <?php
  3. if(empty($_GET['id']) or $_GET['id']=="menu_glowne"){ include("menu_glowne.php"); }
  4. if($_GET['id']=="menu_grafika2d") {  include("menu_grafika2d.php"); }
  5. ?>
  6. </div>
  7.  
  8. <div id="tresc">
  9. <?php
  10. if(empty($_GET['id2']) or $_GET['id2']=="portfolio_start"){ include("portfolio_start.php"); }
  11. if($_GET['id2']=="logotypy") {  include("logotypy.php"); }
  12. ?>
  13. </div>
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.