ich suche eine gute Strategie für eine Webseite eine dynamische Menüstruktur zu verwalten. Das Menü soll später einmal von einem Admin über eine Konfigurationsdatei o.ä. gestaltet werden. Das Menü soll klassisch auf einer Baumstruktur mit beliebiger Tiefe basieren. An jedem Knoten des Menüs soll eine Seite dargestellt werden.
Eine erste Idee von mir war es, diese durch due URLs abzubilden. Allerdings habe ich dann das Problem, dass ich nicht mehr so komfortabel auf das passende Rendering-Modul mappen kann.
Beispiel:
Code: Alles auswählen
"/" -> start()
"/Impressum" -> article()
"/Tischtennis" -> article()
"/Tischtennis/Turnier" -> turnier()
Haken, den ich sehe: Ich kann das Rule-System von werkzeug nur bedingt ausnutzen. Für die article-Funktion wüßte ich ja doch gerne, welcher Artikel grad aufgerufen wurde. So müßte ich nun erst den Pfad auseinandernehmen und das letzte Stück als Parameter nehmen. Bei werkzeug könnte ich das sonst ja schöner so lösen:
Code: Alles auswählen
Rule("/article/<string:name>", endpoint="article")
Daher kam ich als nächstes auf die Idee das Routing statisch zu lassen und die Menüstruktur extern zu mappen, basierend auf der jetzigen URL.
Beispiel:
Code: Alles auswählen
"/article/Impressum" -> "/Impressum"
"/article/Mannschaftsfahrt" -> "/Tischtennis/Mannschaftsfahrt"
So, ich hoffe das war einigermaßen verständlich und es kommen Vorschläge dazu. Ich finde in den div. Dokus dazu nichts explizit verwertbares, da dort immer von einer festen Menüstruktur ausgegangen wird. Aber vielleicht und hoffentlich habe ich ja was überlesen