Abbildung 1: Ansicht eines Hauptmenüs
Diese Anwendung realieiert die Anzeige eines Navigationsmenüs in Form eines Aufklappmenüs.
Aufruf und Einbindung
Die Hauptnavigation läßt sich über zwei Arten aufrufen und nutzen: Über den Aufruf einer URL und über den Einbau eines Server-Side Includes innerhalb einer Webseite.
Einbindung mittels Server-Side Includes
Die Einbindung der Navigation über SSI ist denkbar einfach: An der Stelle, an der im Quelltext der Seite die Navigation eingebunden werden soll, wird die folgende Zeile eingebaut:
<!--#include virtual="/cgi-bin/navigation/navigation.pl" -->
Dieser Aufruf funktioniert in einer HTML-Datei, bei welcher der Webserver
serverseitig nach SSI-Befehlen sucht und diese interpretiert.
Auf den Webservern des RRZE funktioniert dies bei jeder HTML-Datei, die
die Endung .shtml hat.
Aufruf über URL
Für die Nutzung der Navigation für Bookmarks oder anderen Skripten (zum Beispiel bei der Einbindung über ein PHP-Skript) kann man diese auch über eine URL direkt aufrufen:
http://www.example.org/cgi-bin/navigation/navigation.pl
Wobei www.example.org durch den Namen der eigenen Domain ersetzt wird.
Bei Aufruf dieser URL erhält man die Standard-Ansicht der Navigation entsprechend der Konfiguration. Außerdem wird die Startseite als aktive Seite gesetzt. Um die Navigation für spezielle gewählte Seiten aufzurufen, kann man folgende Parameter zusätzlich angeben:
- Aktive Seite wählen
- Aufruf:
/cgi-bin/navigation/navigation.pl?uri=/wir-ueber-uns - Beispiel: /cgi-bin/navigation/navigation.pl?uri=/wir-ueber-uns
- Die Navigation wird erstellt, wie sie aussehen würde, wenn die Seite Wir über uns aktiv gewählt sein würde.
- Aufruf:
- Indexdatei ändern
- Aufruf:
/cgi-bin/navigation/navigation.pl?indexfile=index2.txt - Statt der standardgemäßen Indexdatei
navigationsindex.txtwird hier eine andere Indexdatei gewählt, nämlichindex2.txt. Diese muss jedoch im vorgegebenen Verzeichnisvkdatenliegen.
- Aufruf:
- Konfigurationsdatei ändern
- Aufruf:
/cgi-bin/navigation/navigation.pl?conffile=config2.txt - Statt der standardgemäßen Indexdatei
vorlagen.confwird hier eine andere Indexdatei gewählt, nämlichconfig2.txt. Diese muss jedoch im vorgegebenen Verzeichnisvkdatenliegen.
- Aufruf:
- Nur die Inhaltsnavigation zeigen
- Aufruf:
/cgi-bin/navigation/navigation.pl?uri=/wir-ueber-uns¬opnavigation=1 - Beispiel: /cgi-bin/navigation/navigation.pl?uri=/wir-ueber-uns¬opnavigation=1
- Es werden nur die Punkte der Inhaltsnavigation gezeigt. Auch hier ist die Seite Wir über uns als aktive Seite gewählt.
- Aufruf:
- Kapitelnummerierung ausschalten
- Aufruf:
/cgi-bin/navigation/navigation.pl?uri=/wir-ueber-uns&nodfn=1 - Beispiel: /cgi-bin/navigation/navigation.pl?uri=/wir-ueber-uns&nodfn=1
- Falls in der Konfiguration eingestellt ist, daß die Kapitelnummerierungen eingeschaltet sind, werden diese mit dem Argument
nodfn=1abgeschaltet. Auch hier ist die Seite Wir über uns als aktive Seite gewählt.
- Aufruf:
- Accesskeys ausschalten
- Aufruf:
/cgi-bin/navigation/navigation.pl?uri=/wir-ueber-uns&noaccesskeys=1 - Beispiel: /cgi-bin/navigation/navigation.pl?uri=/wir-ueber-uns&noaccesskeys=1
- Falls in der Konfiguration eingestellt ist, daß die Accesskeys eingeschaltet sind, werden diese mit dem Argument
noaccesskeys=1abgeschaltet. Auch hier ist die Seite Wir über uns als aktive Seite gewählt.
- Aufruf:
- Kombinationen
- Aufruf:
/cgi-bin/navigation/navigation.pl?uri=/wir-ueber-uns¬opnavigation=1&noaccesskeys=1 - Beispiel: /cgi-bin/navigation/navigation.pl?uri=/wir-ueber-uns¬opnavigation=1&noaccesskeys=1
- Dieses Beispiel soll zeigen, daß die obigen Argumente beliebig kombinierbar sind;
Die einzelnen Argumente werden einfach mit einem
&voneinander getrennt.
Falls in der Konfiguration eingestellt ist, daß die Accesskeys eingeschaltet sind, werden diese mit dem Argumentnoaccesskeys=1abgeschaltet. Ausserdem werden wieder nur die Inhaltspunkte angezeigt. Auch hier ist die Seite Wir über uns als aktive Seite gewählt.
- Aufruf:
Installation und Konfiguration
Die Installation wird auf der Seite Installation beschrieben.
Die Konfiguration der Navigation, sowie die Einstellungen zur Anzeige werden
über die zentrale Konfigurationsdateien vorgenommen.
Eine Änderung der Skripten oder gar eine Programmierung ist nicht
notwendig.
Hinweise zum HTML-Quelltext
Bemerkung
Diese Hinweise werden nur benötigt für den Fall,
daß die optische Gestaltung über CSS geändert
werden soll.
Die Navigation wird mit Hilfe von Listen- und <span>-Tags strukturiert, so daß die Navigation auch zugänglich ist, wenn kein Stylesheet vorhanden ist.
Das HTML der Listen ist hierarchisch angeordnet und erlaubt so eine eindeutige Definition der Bereiche.
Verwendete Selektoren
Bei der Genierung des Menpüs werden bis zu zwei Selektoren verwendet, um das Menüs und dessen Teile zu deklarieren:
navigation
Diese Id wird grundsätzlich im ersten, umrandenen <ul> angebenen. Alles innerhalb dieser Liste gehört zum Menü.hauptnavigation
Wird in der Konfiguration angegeben, daß neben der reinen Inhaltsnavigation auch weitere (technische) Navigationspunkte dargestellt werden, wird neben des umrandenden Selektorsnavigationauch noch ein Selektorhauptnavigationin einer Unterliste verwendet, die alle reinen Inhaltsseiten beinhaltet.
Beispiel:
<ul id="navigation"> <li><a href="/index.shtml">Startseite</a> <ul id="hauptnavigation"> <li><a href="/aktuelles.shtml">Aktuelles</a> <li><a href="/ueber-das-projekt/">Über das Projekt</a> <li><a href="/vorlagen/">Vorlagen</a> <li><a href="/designs/">Designs</a> <li><a href="/downloads/">Downloads</a> </ul> </li> <li><a href="/inhaltsuebersicht.shtml">Inhaltsübersicht</a> <li><a href="/verzeichnis-a-z.shtml">Verzeichnis A-Z</a> </ul>
Verwendete Klassen
Folgende CSS-Klassen wurden definiert um eine ausreichende Anpassung der Optik über CSS zu ermöglichen.
aktiv
Beispiele:<li class="on"><a class="aktiv" href="/anwendungen/navigation/">Navigation</a><li><li><span class="aktiv">Hauptnavigation</span></li>
on
Diese Klasse dient dazu, geöffnete Submenüs kenntlich zu machen.lastundlastchild
Diese Klasse definiert den jeweils letzten Listeneintrag eines Menüs. Auf der Hauptebene wird die Klasselastverwendet, während hierarisch untergeordnete Einträge des Menüs mit der Klasselastchildausgezeichnet werden.firstundfirstchild
Diese Klasse definiert den jeweils ersten Listeneintrag eines Menüs. Auf der Hauptebene wird die Klassefirstverwendet, während hierarisch untergeordnete Einträge des Menüs mit der Klassefirstchildausgezeichnet werden.
