Heinz-Jürgen Schymura

Menue_Generator


Das Programm Menue_Generator ist das hauptsächliche Generator Programm für das Menüsystem 1. Mit diesem Programm können Sie die Konfigurationsdatei index_config.php, die Konfigurationsdatei für die allgemeinen Menükonstanten Menue_Allgemein_Konst.php, die Konfigurationsdatei für die Kopfzeile des Menüs und die Konfigurationsdateien für jeden Menüunterpunkt aller Untermenüs erstellen.
Menue_Generator speichert die Programmeinstellungen, wie Verzeichnisse, Dateinamen, Bildschirmposition für den nächsten Start. Es braucht also Schreibrechte in dem Verzeichnis, in dem es sich selbst befindet.
Es hat  eine ganz einfach Hauptmenüstruktur.

Hauptmenü Bild 01

Sie sehen nur 3 Menüpunkte in der Menüzeile, wobei der Menüpunkt Über immer aktivierbar ist, die anderen nur, wenn sie schwarz dargestellt sind. Hier könnten Sie also unter Dateien nur Öffnen, Neu und Beenden betätigen, die anderen Untermenüpunkt würden nicht reagieren. Untermenüpunkte, die an der rechten Seite noch ein Dreieck haben, wie etwa Neu, zeigen an, dass bei ihrer Aktivierung noch eine weiteres Untermenü aufgezogen wird.

Hauptmenü Bild 02

Sie sehen, nach dem Programmstart können Sie unter dem Menüpunkt Bearbeiten noch keinen einzigen Untermenüpunkt aktivieren. Ist ja auch klar, denn Sie haben ja noch nichts zum Bearbeiten. Aber keine Sorge, alle Unter- und auch Unter_Untermenüpunkte werden je nach Programmsituation aktiv geschaltet oder deaktiviert.
Beispiel: Sie wählen den Menüpunkt Dateien Neu Index Konfiguration.

Haptmenü Bild 03

Schon sind bei Bearbeiten 3 Menüpunkte aktiv. Dass Sie nur außerhalb von Listen bearbeiten können ergibt sich schon allein daraus, dass für den Menüpunkt Index Konfiguration absolut keine Listenanzeigen gebraucht werden, sondern alles sich nur um einfache Eingabefelder handelt.
In Programm Menue_Generator haben Sie auch meistens noch PopUpmenüs, die Sie über die rechte Maustaste aktivieren können, wenn sie in der aktiven Eingabemaske vorhanden sind.

PopUpmenü Bild 01

Wenn Sie eine Eingabe in eines der Eingabefelder gemacht hätte und dann den Schalter Schließen betätigen würde, würde im Menüpunkt Dateien Schalten auf der Unteruntermenüpunkt Index Konfiguration aktiviert sein. Sie würden auch keinen Unterschied merken, wenn Sie diese Eingabemaske wieder aktivieren über diesem Menüpunkt. Ihre Eingabe wäre noch genauso vorhanden. Fragen Sie sich nun, warum gibt es denn dann den PopUpmenüpunkt Bearbeitung übernehmen? Sie würden erst den Unterschied merken, wenn Sie das Programm beenden wollen (Menüpunkt Dateien Beenden). Hätten Sie den Menüpunkt Bearbeitung übernehmen nicht betätigt, weder im Hauptmenü, noch im PopUpmenü, so würde das Programm sich einfach beenden. Hätten Sie diesen Menüpunkt jedoch irgendwo betätigt, so würden Sie gefragt werden, ob Sie Ihre Eingaben nicht doch lieber vorher speichern wollen.
Sie müssen nun natürlich (außer, Sie hätten Ihre Steuerdateien schon mit einem Editor erzeugt) nun alle Steuerdateien (Konfigurationsdateien) erst mit den Hauptmenüpunkten Dateien Neu erzeugen. Ich erspare mir das hier und zeige Ihnen gleich, wie ich die bereits vorhandenen Dateien (aus der PHP Quelle meiner anderen Webseite, die sich mit Wandern beschäftigt und auch Bildern zeigt) einladen lasse und dann bearbeite.
Dazu muss ich als erstes über den Menüpunkt Dateien Öffnen Index Konfiguration auswählen. Sie natürlich im Fall das Sie die Steuerdateien erst noch erzeugen müssen den Menüpunkt Dateien Neu Index Konfiguration.
Das Prinzip und auch meine Eingaben sind dabei identisch.

Auswahl der Index Konfigurationsdatei  

Nachdem ich also das betreffende Laufwerk und das betreffende Verzeichnis ausgewählt habe werden mir die dort gefundenen Dateien angezeigt und ich kann nun index_config.php auswählen (markieren) und dann den Schalter Datei einlesen betätigen. Wenn man Dateien, egal welche, einliest, so wird in der untersten (Statuszeile) Zeile des Programms angezeigt, der Inhalt welcher Datei dort angezeigt wird.

Eingabemaske Index Konfiguration

Ihnen kommen die Eingaben bekannt vor? Nun ja, das könnte sein, denn Sie haben sie vermutlich bereits einmal unter dem Menüpunkt Hilfe Menüsystem 1 index.php gesehen (dort aber vermutlich etwas unübersichtlicher, sonst hätte ich die Generatoren nicht programmieren brauchen).
Bei allen Eingaben ist auf die Groß- und Kleinschreibung zu achten. Wenn Sie es nicht tun, so wird PHP, selbst wenn es auf dem Webseitenserver läuft, auf vielen Servern die Dateien nicht finden, weil sie nur bei Windows Servern die Groß- und Kleinschreibung nicht beachten.
Hier bei den Eingaben für die Index Konfiguration ist noch zu beachten, dass alle Pfade ab dem Verzeichnis auf dem Server Ihrer Webseite gerechnet werden müssen, in dem sich die Datei index.php befindet.
Ach ja, alle Eingabeobjekte der Eingabemaske sind noch deaktiviert, so dass ich mir die Daten getrost ansehen kann, ohne befürchten zu müssen, sie unbeabsichtigt zu ändern. Erst wenn ich über den PopUpmenüpunkt Bearbeiten oder den entsprechenden Hauptmenüpunkt die Eingabemaske zum Bearbeiten frei schalte, so kann ich Änderungen vornehmen, die ich dann auch über über den PopUpmenüpunkt Bearbeitung übernehmen oder den entsprechenden Hauptmenüpunkt vor dem Schließen der Eingabemaske bestätigen sollte.
Danach könnte ich übrigens unter dem Hauptmenüpunkt Dateien Schalte auf Index Konfiguration diese Eingabemaske wieder aktivieren, da dieser Menüpunkt nun aktivierbar ist.
Ebenso kann ich dann, wenn ich Bearbeitung übernehmen bestätigen hatte, in den  Hauptmenüpunkten Speichern und Speichern als ... einem Untermenüpunkt ( Index Konfiguration) betätigen. Bei Speichern als ... wird mir ein Dateispeicherobjekt angeboten, in dem Sie entweder einen Dateinamen auswählen oder eingeben können, in einem von Ihnen zu wählenden Verzeichnis. Bei Speichern wird die Datei sofort unter dem letzten bekannten Namen gespeichert.
Nun zeige ich Ihnen die Eingabemaske für die Menükonstanten des Menüsystems. Ich lade sie wieder einfach mit Dateien Öffnen Menükonstanten ein.

Menükonstanten Bild 01

In der Statuszeile können Sie sehen, dass ich sie tatsächlich aus dem Verzeichnis geladen habe, das im Relativen Pfad zu dem Menüdateiverzeichnis (Bild vorher) angegeben war und natürlich auch mit dem dort angegebenen Namen.
Als zweites sehen Sie, dass Sie hier anscheinend mehr Eingaben machen müssen, denn warum sonst sollte hier ein Register mit Seite 1 und Seite 2 in der Zeile unter dem Hauptmenü angezeigt werden?
Das Programm startet immer mit der Seite 1, die ich nun auch als erstes besprechen möchte. Wieder werden Ihnen die Angaben bekannt vorkommen (Menüpunkt Hilfe Menüsystem 1 index.php). Hier sind sie nur etwas besser aufbereitet. Und denken Sie daran, erst muss die Eingabemaske zur bearbeiten frei geschaltet werden.

Menükonstanten Bild 02
 
Dann sind auch die Radioschalter (wie bei einem alten Radio, wo sie nur einen Wellenbereich wählen konnten und mit der Auswahl dort die vorherige Auswahl löschten), hier im Bereich für das Kopfbild, aktivierbar.
Aktiviere ich nun durch einen Mausklick auf Seite 2 die zweite Registeranzeige, so ergibt sich folgendes Bild.

Menükonstanten Bild 03

Sie sehen, da ich immer das aktuelle Datum im Header der ausgegebenen (an den Browser gesendeten Datei) haben möchte, habe ich hier bei den <meta name= Angaben keine Angaben für "date"= gemacht. Sollten Sie das Datum aus dem HTML Kopf nutzen wollen, so geben Sie bitte in diese Zeile  <meta name="date" content="2007-05-11"> das Datum im englischen Format ein.
Außerdem sehen Sie, dass zwar in der Datei Menue_Allgemein_Konst.php () alle Angaben für den Header im Array Array (Menüpunkt Hilfe Menüsystem 1 index.php) vor jedem doppelten Hochkomma einen Slash von links nach rechts steht, damit sich PHP nicht vertut und das doppelte Hochomma als Zeichenfolgenbegrenzer ansieht. Im Programm Menue_Generator jedoch wird Ihnen nur die Zeichenfolge ohne Slash gezeigt. So müssen Sie (und ich) diese auch eingeben, da das Programm beim Speichern der Daten gleich noch das erledigt, was man sonst mit dem Hilfsprogramm Escapen erledigen (siehe dazu auch die Menüpunkte Beschreibungen Escapen und Hilfe Escapen) würde.
Nun zeige ich Ihnen auch noch die Eingabemaske für das Kopfmenü (Datei Menue_Kopf_Konst.php unter dem Menüpunkt Hilfe Menüssystem 1 index.php). 

Kopfmenü Bild 01

Sie sehen, in vielen Eingabefeldern steht noch nichts. Das liegt aber daran, dass in der Liste der Kopfmenüpunkte noch keine Auswahl getroffen wurde.

Kopfmenü Bild 02

Und so zeigt sich auch das erste mal wirklich der große Vorteil dieses Generators! Sie (ich) können für jeden ausgewählten Menüpunkt die betreffenden Angaben machen oder ändern. Alle Eingaben werden im richtigen Array an der richtigen Position gespeichert. Das Auszählen hat ein Ende.

Kopfmenü Bild 03

Und so können Sie (oder ich) auch einen einzelnen Menüpunkt in der Liste der Kopfmenüpunkte verschieben, ohne dass die Verbindung zu den einzelnen zugeordneten Angaben verloren gehen. Angenommen, ich möchte Wandern ganz oben (in der Webseite bedeutet dies links haben, so kann ich im PopUpmenü einfach den Menüpunkt In Liste ganz nach oben auswählen.

Kopfmenü Bild 04

Wollen Sie einen neuen Menüpunkt hinzufügen, müssen Sie zuerst den Menüpunkt Außerhalb der Liste bearbeiten betätigen, oder halt den entsprechenden Hauptmenüpunkt, dann können Sie eine Eingabe bei Neuer oder zu bearbeitender Menüpunkt machen.

 Kopfmenü Bild 05

Wenn Sie Ihre Eingabe gemacht haben, so aktivieren Sie im PopUpmenü den Menüpunkt Zur Liste hinzufügen.  

Kopfmenü Bild 06

Nun können Sie den neuen Listeneintrag noch Umbenennen, wenn Sie sich verschrieben haben, die verschiedenen Eingaben machen (Titel, Kennung, Anzahl der Menütiefe unter dem Kopfmenü, Pfad, Header) oder den neuen Eintrag in der Liste verschieben.

Kopfmenü Bild 07

Oder so wie ich jetzt, einfach den neuen Eintrag wieder mit dem PopUpmenüpunkt Lösche aus der Liste löschen.
Zu den geforderten Eingaben im unteren Bereich der Eingabemaske brauche ich, glaube ich, nichts sagen, das erklärt sich für Sie von selbst, wenn Sie eine CSS-Datei erstellt haben. Auch die unterste Zeile ist wohl selbst erklärend.
Bei den einzelnen Untermenüs (sofern vorhanden) der Kopfmenüpunkte sieht die Arbeitsweise ähnlich aus.

Unter Menue Bild 01 

Nicht ganz ohne Grund zeige ich Ihnen diesen Sonderfall. Sie sehen hier im Eingabefeld unter der Frage "Ist für die Erzeugung einer Suchindex.TXT eine andere Datei als unter U_Anzeigedatei eingetragen zu nutzen?" einen Eintrag. Dies ist hier deshalb der Fall, weil es sich bei der unter "Welche Datei soll bei Auswahl des Untermenü-Einträge angezeigt werden?" um ein wirkliches PHP Programm handelt, das natürlich nicht durchsucht werden soll (darf), das jedoch die Datei Okkult/BioRyth_Erklaer.php einlädt und anzeigt, wenn ihm keine Parameter zum Berechnen übergeben werden. Bei BioRyth_Erklaer.php handelt es sich um die Eingabeform der Daten für die Berechnung. Und deren Inhalt soll natürlich in den Suchindex.TXT aufgenommen werden. 

Unter Menue Bild 02

Einen weiteren Sonderfall sehen Sie hier. Es ist das Untermenü für den Kopfmenüpunkt Wandern. Die Menütiefe war dort 2. Das bedeutet aber, dass auf das Untermenü noch ein weiteres Unter-Untermenü folgt. Deshalb auch keine Einträge bei der Frage "Welche Datei soll bei Auswahl des Untermenü-Einträge angezeigt werden?". Außerdem sehen Sie über der untersten Eingabezeile, dass die Frage anders formuliert ist als bei der Eingabemaske des  Kopfmenüs. Dies liegt daran, dass Sie hier die Möglichkeit haben eine Datei anzuzeigen, wenn überhaupt nur der Menüpunkt ausgewählt wurde, ohne eine Unterauswahl zu treffen. So kann ich hier etwa allgemeine Erklärungen zu Wandern überhaupt anzeigen, das gleiche Spiel kann sich dann bei der Auswahl eines Unter-Untermenüpunktes wiederholen. Um diese Steuerdateien zu erzeugen können Sie den Generator Menue_3_Ebene (siehe auch die Menüpunkte Beschreibung Menüsystem 1 Menue_3_Ebene und  Hilfe Menüsystem 1 Menue_3_Ebene) nutzen. 
Wenn Ihnen der Name des Programms nicht gefällt, so können Sie es getrost umbenennen. Sollten Sie das Programm vorher bereits genutzt haben, so sollten Sie die Konfigurationsdatei  Menue_Generator.INI ebenfalls umbenennen, da dort die Programmeinstellungen des letzten Programmlaufes gespeichert sind. Falls Sie dies nicht tun, so würde das umbenannte Programm mit den internen Programmeinstellungen starten. Sie finden die  Konfigurationsdatei in dem Verzeichnis, in dem sich das Programm selbst befindet. Dort braucht es auch Schreibrechte um die  Konfigurationsdatei zu erstellen und anzupassen.