Heinz-Jürgen Schymura

MenueGenerator2


Das Programm MenueGenerator2 ist das hauptsächliche Generator Programm für das Menüsystem 2. 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.
MenueGenerator2 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 sind also nur Über und Dateien aktivierbar.

Hauptmenü Bild 02

Sie können nun 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 03

Sie sahen, nach dem Programmstart können Sie den Menüpunkt Bearbeiten nicht 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 04

Schon ist der Hauptmenüpunkt Bearbeiten auch aktivierbar und bei Bearbeiten sind 2 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 Listen anzeigen gebraucht werden, sondern alles sich nur um einfache Eingabefelder handelt.
In Programm MenueGenerator2 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

Die 4 Eingabeobjekte würden so noch keine Eingaben zulassen. Das wurde bewusst so gemacht, damit Sie sich, hätten Sie statt den  Menüpunkt Dateien Neu Index Konfiguration den Menüpunkt Dateien Öffne Index Konfiguration aktiviert, den Inhalt der entsprechenden Datei anschauen können, ohne in die Gefahr zu geraten unabsichtlich eine Änderung vorzunehmen.
Erst wenn Sie (im Hauptmenü) Außerhalb der Liste bearbeiten oder (im PopUpmenü) Bearbeiten betätigen lassen die Eingabeobjekte Änderungen (Eingaben) zu. Dies ist in allen Eingabeformen so. Dann würden auch die entsprechenden Menüpunkte Bearbeitung übernehmen im Hauptmenü und im PopUpmenü aktivierbar sein.
 
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 den Menüpunkt Dateien Schalten auf. 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 meiner Unterwegs Webseite) 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 dass 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 2 index.php gesehen (dort aber vermutlich etwas unübersichtlicher, sonst hätte ich den Generator 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.
Bitte denken Sie daran: Erst wenn ich (Sie) ü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="2009-07-13"> das Datum im englischen Format ein.
Außerdem sehen Sie, dass zwar in der Datei Menue_Allgemein_Konst.php (falls Sie dort nachschauen wollen) alle Angaben für den Header im Array $htmlkopf (Menüpunkt Hilfe Menüsystem 2 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 MenueGenerator2 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üsystem 2 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 Impressum ganz oben (in der Webseite bedeutet dies in der horizontalen Hauptmenüzeile links haben, so kann ich im PopUpmenü einfach den Menüpunkt In Liste ganz nach unten (natürlich erst, nachdem ich innerhalb des Hauptmenüs, oder des PopUpMenüs Nur aus der Liste bearbeiten aktiviert hatte) auswählen.

Kopfmenü Bild 04

Also schnell wieder den Menüpunkt Impressum ganz nach unten, also im Kopfmenü der Webseite ganz rechts.

Kopfmenue Bild 05

Wollen Sie einen neuen Menüpunkt hinzufügen, so betätigen Sie den Menüpunkt Zur Menüliste hinzufügen, dann können Sie eine Eingabe bei Neuer oder zu bearbeitender Menüpunkt machen.

 Kopfmenü Bild 06

Wenn Sie Ihre Eingabe gemacht haben, so aktivieren Sie im PopUpmenü oder Im Hauptmenü den Menüpunkt Zur Menüliste hinzufügen.  

Kopfmenü Bild 07

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

Kopfmenü Bild 08

Oder so wie ich jetzt, einfach den neuen Eintrag wieder mit dem PopUpmenüpunkt Lösche aus der Menüliste löschen.

So, nun noch zu dem Bereich Menütiefe unterhalb des Kopfmenüs und deren Erkennungsfolgen, der auch zu der Menüliste und deren Angaben gehört. Ich habe die Möglichkeit die Erkennungsfolgen selbst zu bestimmen bewusst eingebaut, damit Sie (ich) die Zeichenfolgen festlegen können, die Sie (ich) wollen.Wie Sie vermutlich bereits oben gesehen haben, braucht es nicht bei allen Punkten in der Menüliste Angaben zu den Erkennungsfolgen. Dies ist jedoch nur dann der Fall, wenn bei der Menütiefe 0 angegeben ist.

Kopfmenü Bild 09

Erkennungsfolgen werden im Prinzip genauso hinzu gefügt, wie auch Menüpunkte hinzu gefügt wurden. Nur halt über den Menüpunkt Zu den Erkennungsfolgen hinzufügen und die Eingabe wird natürlich in Neue Erkennungsfolge gemacht.
Kopfmenü Bild 10

Das Programm übernimmt den neuen Eintrag nicht, da die Höchstzahl der Einträge für die Menütiefe bereits erreicht war.

Fehler Bild 01

Und dies nicht nur, weil in Menütiefe 3 eingestellt ist, sondern vor allem, weil das ganze Menüsystem 2 nur auf eine Untermenütiefe von höchstens 3 ausgelegt ist. Außerdem ist eventuell noch zu beachten, dass die Erkennungsfolge, nach der index.php ja bei den Get Übergaben sucht, auch für alle Menüpunkte der Liste gleich sein dürfen, wenn nur die Kennung für die einzelnen (Kopf-) Menüpunkte unterschiedlich sind. Hier sehen Sie, dass ich etwa als 1. Erkennungsfolge Jahr angegeben habe, die dazu passende Datei jedoch Jahre.php heißt und im Verzeichnis Archiv zu finden ist. Beachten Sie bitte, dass hier die Angabe vom relativen Menüverzeichnis an zu rechen ist, also PHP (siehe oben bei Index Konfiguration).

Kopfmenü Bild 11

Um im unteren Bereich der Eingabemaske Eingaben zu machen, müssen Sie (ich) zuerst den Menüpunkt Außerhalb der Liste bearbeiten betätigen.

Kopfmenü Bild 12

Über die Schalter im Bereich Soll ein Span Text ausgegeben werden für die einzelnen Menüpunkte? legen Sie fest, ob ein Text ausgegeben werden soll (aufpoppt), wenn sich der Mauscursor über einem Menüpunkt befindet. Bei mir sollen Texte angezeigt werden, das war ja auch schon die ganze Zeit (grau) zu sehen und zwar jeweils die Texte für die einzelnen Menüpunkte der Menüliste, die im Eingabeobjekt Span Text stehen. Wenn Sie dort einen Text angeben, obwohl sie den Schalter im Bereich Soll ein Span Text ausgegeben werden für die einzelnen Menüpunkte? auf Ja gesetzt haben, so wird dann der Browser des Besuchers nichts ausgehen können, mehr aber passiert nicht.
Die anderen Eingaben bauche ich wohl nicht weiter erklären, denn das erklärt sich ja von selbst, wenn Sie sich eine CSS-Datei erstellt haben. Auch das unterste Eingabeobjekt ist wohl selbst erklärend, außer, dass Sie hier den Pfad von der index.php an rechnen müssen.

Bei den einzelnen Untermenüs (sofern vorhanden) der Kopfmenüpunkte sieht die Arbeitsweise ähnlich aus. Dennoch zeige ich hier etwas ausführlich die Eingabemasken der 3 Menütiefen für die aktivierten Menüpunkte Nur aus der Liste bearbeiten und Außerhalb der Liste bearbeiten.

Untermenü Bild 01

Hier also für die Menütiefe 1 die Eingabeform mit dem Menüpunkte Nur aus der Liste bearbeiten. Sie sehen, ich habe keine Span Text eingegeben, bei Untermenüname und Lage ist wieder ab der Angabe in Index Konfiguration, also PHP zu rechnen. Und es ist noch ein weiteres Untermenü vorhanden.

Untermenü Bild 02

Nach Bearbeitung übernehmen wechsele ich nun über den Menüpunkt Außerhalb der Liste bearbeiten und kann nun den unteren Teil bearbeiten. Zumindest wird mir nun deutlich die Tiefe des Untermenüs angezeigt, hier also 1. Im Bereich Welche Angaben stehen in der CSS-Datei für habe ich wieder die entsprechenden Angaben aus der CSS-Datei eingetragen. Ich möchte keinen Span Text ausgegeben haben, ich hatte ja auch keinen eingegeben. Dafür aber sollen die Menüpunkt in einer Tabelle ausgegeben werden, die aber nur eine Spalte haben und nach links ausgerichtet sein soll. In der CSS-Datei ist diese als jahre (Bezeichnung) definiert.
Bei Welche Datei soll in die Ausgabe geschrieben werden, wenn keine Auswahl getroffen wurde?  habe ich die Seite mit Pfad angegeben, die von index.php eingeladen werden soll. Hier ist wieder zu beachten, dass der Pfad ab der Datei index.php gerechnet werden muss. Dies kann in diesem Fall natürlich immer nur dann auftreten, wenn in der Kopfmenüzeile Archiv ausgewählt wurde. Dann kann natürlich noch kein Jahr ausgewählt sein.

Untermenü Bild 03

So sieht dann die Eingabeform für die Menütiefe 2 mit dem Menüpunkte Nur aus der Liste bearbeiten aus. Kein besonderer Unterschied also. 

Untermenü Bild 04

Nach Bearbeitung übernehmen wechsele ich nun über den Menüpunkt Außerhalb der Liste bearbeiten und stelle im unteren Teil fest, dass hier kein wirklicher Unterschied vorhanden ist, lediglich die Ausrichtung in der Tabelle hat sich geändert.

Untermenü Bild 05

Anders dagegen hier bei der Untermenütiefe 3. Hier gibt es kein weiteres Untermenü mehr (Nein), deshalb gibt es auch keinen Eintrag mehr bei Untermenü und Lage.

Untermenü Bild 06

Nach Bearbeitung übernehmen wechsele ich nun über den Menüpunkt Außerhalb der Liste bearbeiten und stelle fest, dass es hier den Unterschied gibt, dass die Zahl der Spalten bei der Tabelle sich geändert hat. Sie müssen für Ihre Aufteilung die beste Anzahl herausfinden, es sind jedoch nur 20 zugelassen............

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  MenueGenerator2.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.