Dokumentation des Multi Purpose php Framework
Die Dokumentation ist noch in Arbeit. Ein Anfang ist zumindest gemacht.
Menü-Konfiguration
Das Menü wird in einer XML-Datei gepflegt und beim Laden des Framework initial eingelesen. Es wirkt sich sichtbar aus auf
- das Menü rechts oben im Header,
- die Haupt-Menüpunkte bzw. Hauptäste im oberen horizontalen Balken,
- das Untermenü links im Baum,
- die Breadcrumb-Leiste,
- Die Verarbeitungsschritte von Multi-Step-Formularen,
- das Footer-Menü.
Beim Einlesen der XML-Datei werden sequentiell ID's für die Menu-Items vergeben. Und zwar negative IDs, die dekrementiert werden, um im positiven Bereich Platz zu schaffen für einen zusätzlichen Baum aus der Datenbank, s. Shop-Plugin.
Im Shop-Plugin wird der Shop-Baum aus der Datenbank z.B. beim Haupt-Menüpunkt 'Shop' eingehängt. Der Baum aus dem Menü-XML mit den Shop-Scripts und den statischen HTML-Seiten und der Shop-Baum aus der Datenbank verschmelzen dann in einer homogenen Datenstruktur.
Eigenschaften von Menu-Items:
| Domain | Die Domain, unter der das Menu-Item und seine Children-Menu-Items aufgerufen werden. |
| ServerProtocol | Das Internet-Protokoll ('http' oder 'https') unter dem das Menu-Item und seine Children-Menu-Items aufgerufen werden. Default: 'http'. |
| IsDomainHomepage |
Ist das Menu-Item die Homepage der eigenen Domain oder der des 1. Parent-Menu-Items?
Werte: 1 oder 0 bzw. leer. Default: leer. |
| Script | Das die Seite erzeugende php-Script bzw. eine mit '|' separierte Liste von Scripts. Z.B. das List- und das Edit-Formular zum Bearbeiten von Daten teilen sich im CRUD-Plugin einen Menüpunkt. |
| ID | Numerischer Identifikator. IDs werden normalerweise zur Ladezeit erzeugt. Es können aber auch selektiv IDs fest zugewiesen werden. |
| URN | Uniform Resource Name, d.h. ein String-Identifikator für URL's. |
| Description | Der im Browser angezeigte Name des Menüeintrags. |
| Page | Der Name einer Datei mit HTML-Code für den Content Bereich. |
| LeftPage |
Der Name einer Datei mit HTML-Code für linke Tree-Spalte (optional).
Die Angabe ist nur sinnvoll für Hauptmenü-Items ohne Untermenü-Items. Default: leer. |
| FullExpand |
Sollen im Baum stets alle Children-Menu-Items des Menu-Items aufgeblättert dargestellt werden?
Ist für Anchors (s.u.) in den Children implementiert worden, die innerhalb der Seite des Menu-Items verlinken. Werte: 1 oder 0 bzw. leer. Default: leer. |
| Anchor |
Ein sog. Anchor (ohne vorausgehendes '#') für die interne Verlinkung innerhalb
des Dokuments des 1. Parent-Menu-Items mit der Eigenschaft FullExpand=1 (s.o.). |
| Display |
Eine mit '|' separierte Liste von Darstellungsarten im Menü.
Z.Z. verfügbar: 'Header', 'Menu', 'Breadcrumbs', 'Progressbar', 'Footer'. Default: 'Menu|Breadcrumbs'. 'Progressbar' ist für Multiple Step Formulare implementiert worden. |
| IsActive |
Zum Ein- und Ausblenden von Menu-Items, je nachdem, ob der User sich authentifiziert hat.
Werte: 'Always', 'WhenLoggedIn' oder 'WhenLoggedOut' (Default: 'Always') |
| OpenAs |
Wurde implementiert, um das Laden der Druckversion einer Seite zu ermöglichen, d.h. Öffnen der Seite
in einem neuem Tab, und zwar ohne Menü (stattdessen mit eigenem HTML Head- und Body-Tag).
Werte: 'Blank', 'PrintVersion' oder leer. Default: leer. |
| Eigenschaften, die zur Laufzeit initial hinzugefügt werden: | |
| ParentID | Der Identifikator des übergeordneten Menu-Items. |
| Level | die Hierarchiestufe im Menü-Baum. |
| ChildrenCount | Anzahl der Untermenüpunkte. |
| InCurrentPath | Boolscher Wert. Ist der Menüeintrag in der Breakcrumb-Liste enthalten? |
| IsCurrentNode | Boolscher Wert. Ist der Menüeintrag die aktuelle Seite? |
| Hits | Nur für die Suche. Treffer-Anzahl im Sub-Baum. |
| SubMenu | Array mit den untergeordneten Menu-Items |
| FullExpandBaseID | Der Identifikator (s.o., 'ID') des 1. Parent-Menu-Items mit der Eigenschaft FullExpand=1 (s.o.). Wurde für die interne Verlinkung innerhalb einer Seite per sog. Anchors (s.o.) implementiert. |