Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Jak zrobić menu?
Forum PHP.pl > Forum > Przedszkole
tomczyk
Witam!

Chciałbym stworzyć małego CMSa lecz nie mogę wykombinować jak zrobić menu.

Moja wizja prezentuje się następująco:

Tworzę sobie tabele w bazie danych o nazwie np. strony w których umieszczam jakiś tytuł i tekst. Z tytułu tworzę link w menu który prowadzi do treści.

Chciałbym aby można było instalować osobne moduły (artykuły, galeria itd...) tylko nie wiem jak np. stworzyć menu które będzie wyświetlało:

Strona głowna (czyli ta zwykła strona)
Artykuły (czyli już jakiś moduł)
Strona 2 (znowu zwykła strona)
strona3 (następna zwykła strona)
Galeria (kolejny moduł)

Jak do tego zaprojektować baze? Możecie mnie jakoś naprowadzić?
bobo168
Proponuję utworzyć tablice konfiguracyjną lub tabelkę w bazie gdzie będziesz przechowywał nazwy modułów + adres do nich. Ja bym to zrobił tak (pewnie jest lepsze rozwiązanie ale w tym momencie nic lepszego nie przychodzi mi do głowy)

Tworzysz sobie tabelke w bazie o nazwie menu: id | id_element_menu | typ (0 - podstrona, 1- moduł) | pozycja_w_menu
Podczas generowania menu pobierasz kolejne elementy wg. pozycji oraz sprawdzasz czy dany element jest podstrona czy modułem (pole typ) pobierasz adres z tabelki/tablicy modułów lub generujesz adres na podstawie tytułu podstrony.

Mam nadzieje że chodź trochę Cie naprowadziłem smile.gif
dawid.czarnecki
Ja polecam od razu stworzenie podstron jako modułu. Odpada wtedy sprawdzanie czy link jest z modułu czy ze strony.
W bazie wtedy zamiast (tak jak napisał bobo168) typ będzie w najprostszej wersji id_submodulu, które będzie odpowiadało za id strony, galerii czy jakiegoś artykułu
tomczyk
heh, rozważałem właśnie te dwie możliwości ale nie potrafiłem się zdecydować i w sumie nie do końca wiem jak to zaprogramować ale to już inna bajka wink.gif

Dzięki wink.gif
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.