Witam społeczność.
Tworzę serwis. A właściwie przepisuję. Wiem, mógłbym skorzystać z jakiegoś gotowego CMS-a, ale ja tworzę autorskie rozwiązanie. No i zacząłem konstruować menu. Niby prosta sprawa, ale.....
Od początku. Główne założenia konstrukcji menu:
1. Menu w bazie danych.
2. Całe menu w jednej tabeli.
3. Dowolna ilość poziomów menu.

Z bazą niby sobie poradziłem. Tabela z menu wygląda tak:

  1. ----------------
  2. |menu
  3. ----------------
  4. |id_pozycji
  5. |opis
  6. |link
  7. |poziom
  8. |kolejnosc
  9. |podmenu
  10. |wewnetrzny
  11. |aktywne
  12. ----------------


Jeśli pole poziom = 0 to pole podmenu = 0. Natomiast jeśli pole poziom > 0 to pole podmenu przyjmuje wartość id_pozycji dla którego ten rekord jest pozycją podmenu.

Generalnie wszystko jest cacy. Kiedy stworzyłem skrypt PHP oraz szablon Smarty dla wyświetlenia menu wszystko gra, ale tylko dla tego konkretnego przypadku. Tzn. gdy 0<=poziom<=2. W przypadku, gdy trzeba będzie dodać np kolejne poziomy menu, nie obejdzie się bez rekonstrukcji skryptu i szablonu. I teraz pytanie, a właściwie prośba o pomoc do Was szanowne koleżanki i szanowni koledzy. Prośba o jakąś wskazówkę w jaki sposób to zuniwersalizować, tak abym w przyszłości przy pomocy panelu admina mógł dodawać kolejne poziomy menu bez grzebania w kodzie? Może są jakieś gotowe rozwiązania na zasadzie klasy menu, czy coś w tym stylu. Wszystko mi się przyda, nawet jakieś wskazówki jak podejść do problemu Z góry wielkie dzięki.