====== Das HMENU ====== Im **HMENU** werden die Grundeinstellungen eines Menüs definiert, z.B. den Menütyp (Brotkrumenpfad, Verzeichnis, ...) und welche Seiten verwendet werden sollen. ===== Eigenschaften des HMENU ===== ^Eigenschaft^Datentyp^Beschreibung^ ^1/2/3/...|menuObj|Die Ziffern stehen für die einzelnen Ebenen in der Seitenstruktur. Jeder Ebene kann ein Menü-Objekt zugewiesen werden (''1 = TMENU'') oder Eigenschaften einer anderen Ebene kopiert werden (''2 < .1''). Ebenen, die im Menü nicht definiert wurden, werden auch nicht angezeigt!| ^entryLevel|Integer|Definiert die Ebene, ab der die Seitenstruktur ausgegeben wird.\\ Ein positiver Wert zählt die Ebene von ''root'' (''0'') aus.\\ Negative Werte sind relative Angaben zur aktuellen Seite:\\ ''-1'' gibt alle Ebenen unterhalb der aktuellen Seite aus, nicht aber die aktuelle Ebene.\\ ''-2'' gibt die aktuelle Ebene sowie alle darunter liegenden Ebenen an.\\ Höhere negative Werte zeigen weitere Ebenen entlang der ''rootline'' an.| ^special| |Art der Navigation. Siehe unten.| ^special.value|Liste von UIDs|Kommaseparierte Liste mit UIDs von Seiten, die verarbeitet werden sollen.| ^maxItems|Integer|Die maximale Anzahl ausgegebener Menüpunkte; gilt auch für Unterseiten. Weitere Seiten werden im Menü nicht angezeigt. Diese Eigenschaft kann auch auf der Ebene der Menü-Objekte angegeben werden.| ^begin|Integer +calc|Wählt den ersten gewünschten Menüpunkt. ''begin = 3'' überspringt die ersten beiden Seiten und startet die Ausgabe des Menüs bei Seite 3.| ^alwaysActivePIDlist| |Setzt die gewählten Seiten als aktiv und zeigt somit deren direkten Unterseiten an. Hinfällig, wenn ''expAll'' aktiviert ist.| ^excludeUidList|Liste von UIDs|Kommaseparierte Liste mit UIDs von Seiten, die von der Ausgabe im Menü ausgenommen werden sollen. Die aktuelle Seite kann mit ''current'' ausgeblendet werden.\\ excludeUidList = 17,4,current| ^includeNotInMenu|boolean|Erzwingt die Ausgabe von Seiten, die in ihren Eigenschaften //Im Menü verstecken// aktiviert haben.| ^wrap|wrap|Umschließt das gesamte Menü.| ^stdWrap|stdWrap|Wird nach ''wrap'' ausgeführt.| ===== Eigenschaft 'special' ===== Mit der Eigenschaft ''special'' können verschiedene Navigationsformen definiert werden. Bei Verwendung von ''special'' kann die Eigenschaft ''entryLevel'' nicht verwendet werden (außer mit dem Wert ''keywords''). ---- ==== browse ==== **Blättermenü**: Ermöglicht das Navigieren vor- und rückwärts auf einer Ebene sowie nach oben. Die Werte der Eigenschaft ''items'' können mit ''|'' getrennt aufgezählt werden. Reihenfolge und Werte können frei gewählt werden. Wenn keine Titel für die ''items''-Werte vergeben werden, gibt TYPO3 den Seitentitel des Ziels aus. Die Navigation endet am Anfang und Ende des Seitenbaums; bei versteckten Seiten, die mit ''.includeNotInMenu = 1'' trotzdem angezeigt werden; bei Spacern. Ggf. mit ''.showAccessRestrictedPages'' angezeigte Seiten mit Zugangsbeschränkungen werden übersprungen. __Mögliche Eigenschaften und Werte:__\\ ^special.items = up|eine Ebene nach oben| ^special.items = index|zwei Ebenen nach oben| ^special.items = first %%|%% last|erste / letzte Seite auf gleicher Ebene| ^special.items = prev %%|%% next|vorherige / nächste Seite auf gleicher Ebene| ^special.items = prevsection %%|%% nextsection|erste Seite der vorherigen / nächsten Sektion (gleiche Ebene wie PID)| ^special.items = prevsection_last %%|%% nextsection_last|letzte Seite der vorherigen / nächsten Sektion (gleiche Ebene wie PID)| ^special.items.prevnextToSection = 1|Aktiviert das Navigieren auf Unterseiten gleicher Ebene bei unterschiedlichen PIDs. Die PIDs müssen direkt aufeinanderfolgen!| ^special.//up//.fields.title = Zum Anfang|Ändert den Standardwert (Seitentitel) in einen feststehenden Begriff.| ^special.//up//.uid = 12|Ersetzt das eigentliche Ziel des Wertes mit einer festen Seite.| ---- ==== directory ==== **Verzeichnisse**: Zeigt die Unterseiten der unter ''special.value'' angegebenen PIDs an. Fehlt diese Angabe, zeigt das Menü immer die Unterseiten der aktuellen Seite an. Gibt es keine Unterseiten, wird kein Menü ausgegeben. ---- ==== keywords ==== Schlagwörter: Gibt Seiten aus, welche dieselben Schlüsselbegriffe besitzen wie die aktuelle oder angegebenen Seite. Mögliche Felder zum Abgleich sind die Datenbankfelder von //pages//. __Mögliche Eigenschaften und Werte:__ ^special.value|//UID//|Sucht die Stichwörter in der hier angegebenen Seite. Ohne ''value'' wird immer die aktuelle Seite als Referenz genommen.| ^special.beginAtLevel|Integer|Legt die Startebene der Suche fest.| ^special.depth|Integer|Ebenentiefe, relativ zu ''beginAtLevel''. Default: 20.| ^special.limit|Integer|Anzahl der maximal ausgegebenen Seiten.| ^special.mode|//DB-Feld aus Tabelle// pages|Legt die Sortierung der Seiten fest. Mögliche Felder (mit Unix-Timestamp!): ''SYS_LASTCHANGED'' (Defaultwert), ''manual'' (-> ''lastUpdated''), ''tstamp'', ''crdate'', ''starttime''| ^special.keywordsField|//DB-Feld aus Tabelle// pages|Ein Feldname, in dem die Suchbegriffe gefunden werden sollen. Standard: keywords| ^special.keywordsField.sourceField|//DB-Feld aus Tabelle// pages|Ein Feldname, nach dessen Suchbegriffen gesucht werden soll. Standard: keywords| ^special.setKeywords|String|Manuelle Angabe der Suchbegriffe, überschreibt ggf. die anderen Angaben.| ^special.excludeNoSearchPages|boolean|Wenn aktiviert, werden keine Seiten ausgegeben, die in den Seiteneinstellungen von der Suche ausgeschlossen wurden.| ---- ==== language ==== ---- ==== list ==== **Liste**: Erzeugt ein Menu mit den Seiten, deren UIDs unter ''special.value'' aufgeführt sind. Falls deren Unterseiten ebenfalls angezeigt werden sollen, muss ''expAll'' aktiviert und die entsprechenden Ebenen konfiguriert werden: 10 = HMENU 10 { special = list special.value = 4,17 1 = TMENU 1 { expAll = 1 NO = 1 [...] } 2 < .1 [...] } ---- ==== rootline ==== ** Brotkrumenpfad**: Erzeugt eine Navigation, die den Pfad von der aktuellen Unterseite bis zur //root// enthält. __Mögliche Eigenschaften und Werte:__\\ ^special.range = 1%%|%%-1|Gibt mit wählbaren Werten (wie unter ''entryLevel'') den Start- und Endpunkt der Navigation an.| ^special.reverseOrder = 1|Kehrt die Reihenfolge der Seiten um: Links wird mit der aktuellen Seite begonnen.| ---- ==== updated ==== ---- ====== Menü-Objekte ====== ===== TMENU ===== ^Eigenschaft^Datentyp^Beschreibung^ ^ | | | ===== Eigenschaften ===== ==== Allgemein ==== ^Eigenschaft^Datentyp^Beschreibung^ ^sectionIndex|boolean|Erzeugt im Menü eine Liste der auf der Seite befindlichen Inhaltselemente (in der Spalte //Normal//). Der Link beinhaltet neben der Seiten-ID eine Sprungmarke mit der ID des jeweiligen Inhaltselements. Seit TYPO3 CMS 6.0 kann die Inhaltsspalte geändert werden.\\ __Mögliche Untereigenschaften:__\\ ''.type'' -> **//header//** listet alle Elemente auf, die nicht versteckt sind, deren Überschrift nicht versteckt oder leer sind und die //Show in Section Menus// aktiviert haben. **//all//** listet alle Elemente auf.\\ ''.includeHiddenHeaders'' -> Seit TYPO3 6.2 Wenn aktiviert, werden auch Elemente angezeigt, die eine versteckte Überschrift besitzen (sinnvoll, wenn ''.type = header'').\\ ''.useColPos'' -> Seit TYPO3 6.0 Ermöglicht die Wahl der Inhaltsspalte. Standard: ''0''. Bei negativem Wert werden die Inhalte __aller__ Spalten ausgegeben. 10 = HMENU 10 { special = directory special.value = 27 wrap = 1 = TMENU 1 { expAll = 1 NO { allWrap =
  • |
  • stdWrap.htmlSpecialChars = 1 } } 2 < .1 2 { sectionIndex = 1 sectionIndex.type = all wrap = } }
    | ^alternativeSortingField|string|Die Reihenfolge der auszugebenden Seiten entspricht per default dem Feld //sorting// in der Datenbanktabelle (//pages// und //tt_content//). Mit dieser Eigenschaft kann die Reihenfolge verändert werden. Der erste Wert benennt das Datenbankfeld, als zweiter Wert wird ''ASC'' oder ''DESC'' für auf- bzw. absteigend gesetzt. 10 = HMENU 10 { 1 = TMENU 1.alternativeSortingField = title ASC 1.NO = 1 } | ^minItems|positive integer|Gibt die Mindestanzahl der Menüpunkte vor. Sind weniger Seiten vorhanden, werden die restlichen Slots mit Platzhalter-Elementen gefüllt. Diese besitzen den Titel ''...'', verlinken auf die aktuelle Seite und haben daher auch den Status //CUR// (bei der Menügestaltung beachten!). Hat Vorrang gegenüber ''minItems'' unter ''HMENU''.| ^maxItems|positive integer|Gibt die maximale Anzahl der Menüpunkte vor. Überzählige Seiten würden nicht ausgegeben. Hat Vorrang gegenüber ''maxItems'' unter ''HMENU''.| ^begin|positive integer|Legt fest, ab welcher Seite das Menü ausgegeben wird. Bezieht sich auf die Sortierung der Seiten: Ist ''alternativeSortingField'' definiert, richtet sich ''begin'' nach dieser Reihenfolge. Hat Vorrang gegenüber ''begin'' unter ''HMENU''.| ^JSWindow|boolean|Wenn aktiviert, wird der Link mit JavaScript in einem Popup-Fenster geöffnet. Es gibt zwei Untereigenschaften:\\ ''.newWindow'' (boolean) -> Wenn aktiviert, wird bei __jedem__ Klick ein neues Fenster geöffnet (anstatt nur beim ersten Mal).\\ ''.params'' -> Ermöglicht die Angabe von Eigenschaften für das neue Fenster (siehe [[typo3:about:functions:typolink|JSwindow_params]]). 10 = HMENU 10 { 1 = TMENU 1.JSWindow = 1 1.JSWindow.newWindow = 1 1.JSWindow.params = width=800,height=600,status=0,menubar=1 1.NO = 1 } | ^imgNamePrefix| | | ^imgNameNotRandom| | | ^debugItemConf|boolean|Wenn aktiviert, werden die Konfigurations-Arrays der Menüpunkte ausgegeben. Diese zeigen die gesetzten Eigenschaften, z.B. ''ATagTitle'' oder ''wrapItemAndSub'' Verwendbar mit TMENU, GMENU und IMGMENU.| ^addParams|string|Ermöglicht das Anhängen von GET-Parametern an die Menülinks. 10 = HMENU 10 { 1 = TMENU 1.addParams = &foo=bar 1.NO = 1 } | ^showAccessRestrictedPages|//Seiten-UID// / //none//|Ermöglicht das Anzeigen von Seiten, die für den Besucher aktuell nicht angesteuert werden können. Bei Angabe einer UID wird auf ebendiese Seite verlinkt. Bei dem Wert ''none'' ist die Seite sichtbar, aber kein Verweis hinterlegt.\\ Es existiert eine Untereigenschaft ''.addParams'' für zusätzliche GET-Parameter. Neben statischen Strings können auch zwei Marker verwendet werden: //###PAGE_ID###// (die Seite, von der man weitergeleitet wurde) und //###RETURN_URL###// (die geschützte Seite). showAccessRestrictedPages.addParams = &pageId=###PAGE_ID### Ich habe bislang nicht erreichen können, dass ###RETURN_URL### gefüllt wird. ###PAGE_ID### wurde aber stets mit der UID der geschützten Seite gefüllt.| ^itemArrayProcFunc| | | ^submenuObjSuffixes|string +[[typo3:about:functions:optionsplit|optionSplit]]|Mithilfe dieser Eigenschaft und optionSplit ist es möglich, Untermenüpunkte verschiedener Elternseiten unterschiedlich zu formatieren. Die Eigenschaft wird dabei auf der Ebene der Elternseiten angewandt, anschließend sind dann die Suffixe für die nächste Ebene verwendbar. 10 = HMENU 10 { entryLevel = 1 1 = TMENU 1.expAll = 1 1.NO = 1 1.submenuObjSuffixes = a|*| |*|b 2 = TMENU 2.NO.allWrap =
  • |
  • 2a = TMENU 2a.NO.allWrap =
  • |
  • 2b = TMENU 2b.NO.allWrap =
  • |
  • }
    | ===== Menü-Zustände ===== Mit diesem Zuständen können verschiedene Status in Navigationen (TMENU, GMENU und IMGMENU) definiert werden. Die Rollover-Zustände ''RO'' funktionieren nicht bei TMENU; dies sollte mit CSS gelöst werden. ^Zustand^Beschreibung^ ^NO|Der Normalzustand; muss immer definiert sein. Wenn für diesen Zustand Eigenschaften angelegt werden, muss man ihn nicht explizit mit ''NO = 1'' aktivieren. Alle anderen Zustände müssen immer erst aktiviert werden.| ^IFSUB\\ IFSUBRO|Eigenschaften aller Seiten, die mindestens eine Unterseite enthält.| ^ACT\\ ACTRO|Eigenschaften der aktuellen Seite UND aller in der //rootline// darüber liegenden Seiten.| ^ACTIFSUB\\ ACTIFSUBRO|Eigenschaften aller in der //rootline// darüber liegenden Seiten. Die aktuelle Seite ist hiervon ausgenommen!| ^CUR\\ CURRO|Eigenschaften **nur** der aktuellen Seite.| ^CURIFSUB\\ CURIFSUBRO|Eigenschaften **nur** der aktuellen Seite, falls sie Unterseiten enthält.| ^USR\\ USRRO|Eigenschaften von Seiten, die nur von eingeloggten FE-Usern gelesen werden können.| ^SPC|Konfiguration von Seiten des Typs //Menu Separator//, welche der Unterteilung von Menüs dienen.| ^USERDEF1\\ USERDEF1RO| | ^USERDEF2\\ USERDEF2RO| | **Priorität bei Menüzuständen:** USERDEF2, USERDEF1, SPC, USR, CURIFSUB, CUR, ACTIFSUB, ACT, IFSUB