HMENU
Erzeugt hierachische Menüs.
Eigenschaft | Datentyp | Beschreibung | Standard |
1,2,3,... | menuObj | Erforderlich! |
|
int | Gibt an, in welcher Ebene der rootline das Menü beginnen soll. Der Standardwert ist "0", was uns zu einem Menü mit den ersten Seiten der Website führt. Ist der Wert < 0, liegt entryLevel "hinter" der rootline. "-1" ist also ein Menü mit Einträgen aus der obersten Ebene, "-2" ist die Ebene nach dem obersten Ebene,... |
| |
"directory" / "list" / "updated" / "browse" / "rootline" / "keywords" / "language" | (Siehe gesonderte Tabelle unten) |
| |
Liste von Seiten-UIDs / stdWrap | (Siehe oben) |
| |
int | Die Mindestzahl von Menüeinträgen. Wenn die Anzahl an Einträgen diese Zahl nicht erreicht, wird eine Dummy-Zeile mit dem Titel "..." und der UID=[ID der aktuellen Seite] eingefügt. |
| |
int | Die Höchstzahl von Menüelementen. Mehr Elemente werden ignoriert. |
| |
int + calc | Das erste Element im Menü. |
| |
Liste von int | Eine Liste von Seiten-UIDs, die aus dem Menü ausgeschlossen werden sollen. Durch Kommata abgetrennt. |
| |
Liste von int | Eine Liste von Seiten-UIDs, die immer als aktive Menüeinträge betrachtet und daher automatisch geöffnet werden, ungeachtet der Rootline. |
| |
boolean / keyword | Falls gesetzt, wird für jede Seite im Menü geprüft, ob die GET-Variable &L einen anderen Wert hat als die mometane sys_language_uid und ob ein alternativer Sprachdatensatz für diese sys_language_uid für die Seite existiert. Ist das nicht der Fall und die “Übersetzungseinstellungen” der Seite stehen auf “Verstecke Seite, wenn keine Übersetzung für aktuelle Sprache existiert”, wird der Menüeintrag auf eine nicht zugreifbare Seite zeigen, die dem Benutzer eine Fehlermeldung weitergibt. Das Setzen dieser Option verhindert diese Situation, indem einfach &L=0 für solche Seiten angehängt wird, was bedeutet, dass zur Standardsprache gewechselt wird, anstatt die momentane Sprache beizubehalten. |
| |
»if | Falls "if" "falsch" zurückliefert, wird das Menü nicht erzeugt. |
| |
wrap |
|
| |
»stdWrap |
|
|
Die .special-Eigenschaft
Diese Eigenschaft ermöglicht es, Menüs zu erzeugen, die nicht grundsätzlich die aktuelle Seitenstruktur wiedergeben,sondern stattdessen Links enthalten wie “Vor/Zurück”, “Zuletztbearbeitet”, “Seiten in einer bestimmten Seite” und so weiter.
ANMERKUNG: Setzen Sie nicht die Eigenschaft ».entryLevel für ein HMENU, wenn Sie diese Option benutzen! Beachten Sie auch, dass hier Seiten für die oberste Menüebene gewählt werden. Untermenüs mit menuObjects 2+ werden wie üblich erzeugt.
Typ | Beschreibung |
Dies erzeugt ein Menü mit allen Seiten mit der pid 35 und 56. | |
Dies erzeugt ein Menü mit den beiden aufgezählten Seiten (uid=35 und uid=36): | |
Dies erzeugt ein Menü der zuletzt bearbeiteten Seiten aus den Zweigen des Baums, die mit den aufgezählten UIDs (35 und 36) beginnen. Des weiteren wird das Feld “tstamp” benutzt (Standardwert SYS_LASTCHANGED), und die Baumtiefe beträgt 2 Levels. Außerdem wird eine Höchstzahl von 8 Seiten angezeigt, und diese müssen innerhalb der letzten drei Tage(3600*24*3) bearbeitet worden sein. | |
Erzeugt ein Menü mit den Seiten der rootline. | |
Diese Art Menü wird aus den Einträgen erzeugt, die aus einer Liste in der Eigenschaft “.item” erzeugt werden. Jedes Element der Liste (getrennt durch “|”) ist entweder ein reservierter Eintragsname (siehe Liste) mit einer vordefinierten Funktion oder ein benutzerdefinierter Name, welchem Sie eine Verküpfung zu jeder beliebigen Seite zuweisen können. Beachten Sie, dass die aktuelle Seite nicht die Root-Seite einer Website sein kann. | |
Erzeugt ein Menü mit Seiten, die ein oder mehrere Schlüsselwörter enthalten, die auch auf der aktuellen Seite zu finden sind. .mode: Gibt an, welches Feld der Seitentabelle zur Sortierung zu benutzen ist. Vorgabewert ist “SYS_LASTCHANGED” (wird auf den jüngsten tstamp der Seiteneinträge gesetzt, wenn die Seite generiert wird), “manual” oder “lastUpdated” greifen auf das Feld “lastUpdated” zu (manuell im Seiteneintrag setzen) und “tstamp” benutzt das “tstamp”-Feld des Seiteneintrags, welches automatisch gesetzt wird, wenn der Eintrag bearbeitet wird. “crdate” benutzt das “crdate”-Feld des Eintrags, “starttime” das “starttime”-Feld. .entryLevel: Gibt an, wo in der Rootline die Suche beginnt. Standard Rootline Syntax (-x bis x) .depth, .limit, .excludeNoSearchPages, .beginAtLevel (wie im “updated”-Menü) .setKeyword (+stdWrap): Lässt Sie die Schlüsselwürter manuell als durch Kommata getrennte Liste angeben. Wenn diese Eigenschaft gesetzt ist, wird die Vorgabe, dir Schlüsselwörter der aktuellen Seite, überschrieben. .keywordsField: Gibt das Feld in der Seitentabelle an, in dem nach den Schlüsselwörtern gesucht werden soll. Vorgabewert ist der Feldname “keyword”. Es wird nicht kontrolliert, ob das Feld, welches Sie hier angeben, wirklch existiert, also geben Sie ein existierendes Feld an, verstanden!? .keywordsField.sourceField: Gibt das Feld der aktuellen Seite an, aus dem die Schlüsselwörter genommen werden soll. Vorgabewert ist "keyword". (Beachten Sie, dass “.keywordsField” nur das Eintragsfeld angibt, in dem gesucht werden soll!) | |
Erzeugt ein Sprachauswahlmenü. In der Regel besteht solch ein Menü aus Fahnen für jede Sprache, in die eine Seite übersetzt wird, und wenn der Benutzer eines der Menüelemente anklickt, wird auf dieselbe Seiten-ID verwiesen, aber mit einer Änderung des “&L”-Parameters. Der “language”-Typ erzeugt Menüelemente basierend auf dem aktuellen Seiteneintrag, aber mit jeweils unterschiedlichem Sprachdatensatz (falls verfügbar). Die Elemente verweisen alle auf die aktuelle Seite, lediglich der “&L”-Parameter wird geändert. Elementzustände: .value: durch Kommata getrennte Liste von sys_language-uids, aus denen das Menü erzeugt werden soll. Die Enzahl der Elemente in der Liste bestimmt die Anzahl der Menüelemente. | |
Lässt Sie Ihr eigenes kleines PHP-Script schreiben, welches den Array der Menüelemente generiert. Anleitung: $menuItemsArray[] = pageRow1; Eine “pageRow” ist ein Eintrag der Tabelle “pages” mit allen Feldern (SELECT * FROM...). Anmerkung: URLs überschreiben: Andere reservierte Schlüssel: Untermenüs erzeugen: Elementstatus vorbestimmen | |
Ruft eine benutzerdefinierte Methode in einer Klasse auf, die (genau wie bei “userdefined” oben) einen Array mit Seiteneinträgen für das Menü zurückliefern sollte. |




