Der Linkbaum der Navigation in Editland

Silke Schümann wrote this 23:07:

Jedem Link seine Kapittelnummerierung

Das ist dann Teil II der Überlegung, wie man mit möglichst wenig Heckmeck die Informationen einer dynamisch mit PHP generierten Navigationsstruktur beikommt. In Teil I ging es noch darum, festzustellen, wann eine Ebene wechselt und mitzuführen wo man sich befindet. Führt man beim ersten Durchlauf Kapitelnummern mit, so muss man den Baum nur noch einmal durchlaufen, bevor man anschließend anhand von Bedinungen den Navigationsbaum schreibt. Hierbei wird bei der aktiven Seite ein Marker gesetzt, so wie bei der versteckten Seite ein Marker diese Kennzeichnet. Dieser Marker macht aus der Kapitelnummer den Array anhand dessen später beim zweiten Druchlauf, wenn die Navigation geschrieben wird, Klassen vergeben werden können, die nicht nur den aktiven Link, bzw. die Bezeichnung im Span ausweisen, sondern auch den Links, die zur aktiven Seite führen eine entsprechende Klasse geben können.

Jeweils die Ebene um eins verkleinert und bei der Ordnungs den letzten Eintrag abgeschnitten und schon hat man den Marker für die führende Seite zur aktuell offnen Seite der zurückliegenden Ebene.

Da gibt es nun wirklich genügend Array-Funktionen in jeder Programmiersprache, mit denen diese Aufgabe leicht zu bewältigen ist. Die versteckte Seiten sollte man an dieser Stelle ganz aussen vor lassen.

Die Vorgehensweise ist immer wieder recht simple. Was weiß ich? welche Flaggen kann ich setzen, um die Informationen, dann im Zugriff zu haben, wenn ich sie benötige und welche Bedingungen sollen erfüllt sein, damit die Ausgabe so oder so erfolgen kann. Das ist wie Algebra. Meist braucht man nur die Hälfte der Information, um den Rest zu erschließen.

Wie baut man eine Navigation?

Welche Teile bisher existieren:

  1. 16.3.2007 — Programmplanung Editland-Menü
  2. 17.3.2007 — Der Linkbaum der Navigation in Editland
  3. 1.4.2007 — Was Kapitelnummern mit Array_slice() zu tun haben
  4. 4.4.2007 — Editland-Navigation mit doSimple Flyout verheiratet
  5. 8.4.2007 — PHP-Arger mit Array_slice

Leave a Reply