Menu-Bench V1.0 (c) 2005 Carsten Meier


This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA


1 EINLEITUNG
------------

Menu-Bench ist ein in PHP geschriebenes Skript, mit dem sich automatisch
Mens und Navigationsleisten erzeugen lassen. Deren Aussehen wird durch
Templates bestimmt und lt sich daher leicht an eigene Bedrfnisse
anpassen oder erweitern. Dabei sind bereits Templates fr Mens,
Menleisten, Linklisten und Vor/Zurck-Navigation enthalten. Auerdem
knnen die oft vernachlssigten LINK-Elemente im HEAD eines Dokuments
generiert werden. Die zu verlinkenden Seiten werden zentral ber ein
Array verwaltet, das deren URLs und Titel enthlt.

Das Archiv enthlt folgende Dateien:

LICENSE			- Eine Kopie der
			  GNU Lesser General Public License V2.1
LIESMICH_de		- Die Datei, die Sie gerade lesen
menu-bench.php		- Menu-Bench-Funktionen
menu-bench-config.php	- Konfigurations-Datei fr die Demo
menu-bench-demo.css	- Stylesheet fr die Demo
menu-bench-demo.php	- Demo

Es wird PHP >= 4.1.0 bentigt.


2 FUNKTIONSWEISE
----------------

2.1 FUNKTIONEN
--------------

Die Datei 'menu-bench.php' enthlt zwei fr den Benutzer bestimmte
Funktionen:

- menubench_navigation($current_page_key, $pages, $template)
  Erzeugt Anfang/Zurck/Weiter/Ende-Links.

- menubench_menu($current_page_key, $pages, $template)
  Gibt ein Men aus.

Den Funktionen werden jeweils der Schlssel der aktuellen Seite, das
Array mit den Links, sowie ein Template als Argumente bergeben. Das
Template wird zur Steuerung der Ausgabe benutzt und enthlt je nach
aufgerufener Funktion unterschiedliche Elemente.

2.2 LINKS
---------

Smtliche Links werden in einem Array abgelegt (oben als $pages
bezeichntet). ber dessen frei whlbare Schlssel wird das jeweils
aktuelle Dokument referenziert. Als Werte enthlt das Array weitere
Arrays mit folgenden Schlssel-Wert-Paaren:

'url'	=> Die HTML-kodierte URL des Dokuments.
'title'	=> Der ebenfalls HTML-kodierte Titel des Links. Dieser darf
	   keine Tags enthalten, da er evtl. in einem Attribut landet.

2.3 TEMPLATES
-------------

Die Ausgabe wird ber Templates bestimmt, bei welchen es sich ebenfalls
um Arrays handelt. Beide Funktionen erwarten darin folgende Elemente:

'prefix', 	=> Strings, die am Anfang bzw. Ende des
'postfix'	   Navigationsbereichs ausgegeben werden.
'separator'	=> String, der zwischen den einzelnen
		   Menpunkten ausgegeben wird.

Bei folgenden funktionsspezifischen Elementen handelt es sich um
Format-Strings, bei denen %1$s durch die URL und %2$s durch den Titel
des Dokuments ersetzt wird:

- menubench_navigation:
'start'	=> Format-String fr den "Anfang"-Link
'end'	=> Format-String fr den "Ende"-Link
'next'	=> Format-String fr den "Weiter"-Link
'prev'	=> Format-String fr den "Zurck"-Link

- menubench_menu:
'item'		=> Format-String fr Menpunkte
'current_item'	=> Format-String fr den Menpunkt des aktuellen
		   Dokuments

Wenn bestimmte Links nicht ausgegeben werden sollen, wie z.B. die
"Anfang"- und "Ende"-Links oder der Menpunkt des aktuellen Dokuments,
so setzen sie die entsprechenden Strings einfach auf einen leeren String.

Die Datei 'menu-bench-config.php' enthlt bereits diese vordefinierten
Templates fr die angegebenen Funktionen:

- menubench_navigation:

$nav_template		- Anfang/Zurck/Weiter/Ende-Links
$head_link_template	- Erzeugt HEAD-Links (nicht im BODY, sondern
			  im HEAD des Dokuments aufrufen!)

- menubench_menu:

$menu_template		- Mehrzeiliges Men
$menubar_template	- Einzeilige Menleiste
$list_template		- Link-Liste (ohne aktuelles Dokument)


3 DEMO
------

Die Datei 'menu-bench-config.php' enthlt eine Beispielkonfiguration
mit einem Array fr die Links, sowie mehreren Templates, welche
HTML-Klassen aus 'menu-bench-demo.css' benutzen. 'menu-bench-demo.php'
bindet diese Konfigurationsdatei ein und demonstriert die Benutzung
der Funktionen. Um die Demo in Aktion zu sehen, mssen Sie einfach alle
menu-bench*-Dateien in ein Verzeichnis Ihres Webservers hochladen und
'menu-bench-demo.php' abrufen.

Die Demo- und Config-Dateien knnen als Grundgerst fr Ihre eigenen
Seiten dienen. Viel Spa mit Menu-Bench!


4 KONTAKT
---------

Die jeweils aktuellste Version knnen Sie unter
http://www.trexity.de/webdev/menu-bench.html herunterladen. Wenn Sie
einen Kommentar abgeben, einen Bug melden oder einen Patch einsenden
mchten, schicken Sie mir bitte eine e-mail an: cm@trexity.de . ber
einen Link auf http://www.trexity.de/webdev/ oder obige URL auf Ihrer
Website wrde ich mich sehr freuen. Vielen Dank!

Anschrift des Autors:

	Carsten Meier
	Under de Diek 19
	D-26757 Borkum
	Germany
