Mailinglisten-Archive |
Hallo zusammen, Ich bin grade dabei ein altes Navigationsskript von mir umzuschreiben (es gab dort eine Hauptnavigation und jeweils eine Stufe tief eine Unternavigation). Ich würde es gerne so haben, dass ich praktisch eine beliebig(!!) tiefe Unternavigation anlegen kann, z.B. Home [link: index.php?nav=home] Produkte [link: index.php?nav=produkte] ..Produkt1 [link: index.php?nav=produkt1] ..Produkt2 [link: index.php?nav=produkt2] ....Details [link: index.php?nav=produkt2details] ....Download PDF [link: index.php?nav=produkt2download] ..Produkt3 [link: index.php?nav=produkt3] Kontakt [link: index.php?nav=kontakt] Da ich zum speichern der Navigationsdaten keine Datenbank verwenden will, habe ich mir überlegt, ob man es theoretisch in assoziativen Arrays speichern könnte (am liebsten mit Hilfe von Klassen, bei denen ich dann jeweils die HTML-Ausgabe je nach Projekt anpassen kann). Also könnte man doch sowas basteln (natürlich vorrausgesetzt man hat die Klasse und genau da liegt mein Problem): ---------------------- $menu = new NavigationCool; // 1.Param = nav-name, 2.Param = Parent, 3.Param = Fullname, 4.Parameter = visibility, eventuell noch weiter Parameter $menu->MakeMenuEntry('home','top','Home',1); $menu->MakeMenuEntry('produkte','top','Produkte',1); $menu->MakeMenuEntry('produkt1','produkte','Produkt 1',1); $menu->MakeMenuEntry('produkt2','produkte','Produkt 2',0); $menu->MakeMenuEntry('produkt2details','produkt2','Details',1); $menu->MakeMenuEntry('produkt2download','produkt2','Download',1); $menu->MakeMenuEntry('produkt3','produkte','Produkt 3',1); $menu->MakeMenuEntry('kontakt','top','Kontakt',1); $nav = $_GET['nav']; // hier hole ich mir den Nav-Parameter $menu->PrintMenu($nav); // hier soll also nur der Tree unter $nav ausgedruckt werden $menu->PrintMenu(); // hier soll die gesamte Navigation ausgedruckt werden ---------------------- Ist also der 2.Parameter="top" so ist dies ein Toplevel Element, ansonsten steht im 2.Parameter jeweils das Eltern-Element Hat jemand eine Idee, wie ich das Assoziative Array am besten zusammen baue (muss ich rekursiv arbeiten??). Und wie komme ich an "Pfad", wenn ich z.B. $nav="produkt2details" angebe, möchte ich sowas wie "produkte->produkt2->produkt2details" erhalten. ?? Hintergrund ist der, dass ich bei z.B. $nav="produkt2details" lediglich die Seite "/produkte/produkt2/produkt2details.php" includieren will und die Navigation dynamisch aufgebaut wird (und der aktuelle Navigationspunkt natürlich anders dargestellt wird), während alles andere (Header, Footer, metatags, ... von einer zentralen Stelle kommen. Oder ist das alles Mist (?!) und ich sollte es ganz anders lösen (vielleicht gibt es ja schon vorgefertigte Scripts)? Uiuiui, Fragen über Fragen Freue mich auf jede Antwort! :-)) Patrick -- Patrick Schuster
php::bar PHP Wiki - Listenarchive