Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
cookbook:menus [2014/07/29 19:42] shadowcat [cat_breadcrumb] |
cookbook:menus [2016/03/14 00:00] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | <WRAP center round info 100%> | + | ====== Menüs ====== |
+ | |||
+ | <WRAP center round info 50%> | ||
[[https://github.com/webbird/BlackCatCMS/wiki/Creating-menus|English version of this page is available at GitHub.]] | [[https://github.com/webbird/BlackCatCMS/wiki/Creating-menus|English version of this page is available at GitHub.]] | ||
</WRAP> | </WRAP> | ||
Zeile 8: | Zeile 10: | ||
Die Reihenfolge und Syntax der Optionen ist exakt dieselbe wie gewohnt. | Die Reihenfolge und Syntax der Optionen ist exakt dieselbe wie gewohnt. | ||
+ | |||
+ | <WRAP center round important 100%> | ||
+ | Die folgenden Angaben gelten für CMS Version 1.1. Für Version 1.2 bitte ans Seitenende scrollen. | ||
+ | </WRAP> | ||
+ | |||
Zusätzlich haben wir einen "Menü-Helper" kreiert, der einige der üblichsten Menü-Varianten direkt unterstützt. Auch hierfür existieren Dwoo-Plugins und mit diesen die entsprechenden Template-Platzhalter: | Zusätzlich haben wir einen "Menü-Helper" kreiert, der einige der üblichsten Menü-Varianten direkt unterstützt. Auch hierfür existieren Dwoo-Plugins und mit diesen die entsprechenden Template-Platzhalter: | ||
- | cat_breadcrumb( __Int__ <PAGE_ID>[, __Int__ <DEPTH>[, __Bool__ <CURRENT>[, __Array__ <OPTIONS> ] ] ] ) | + | cat_breadcrumb ( __Int__ <PAGE_ID>[, __Int__ <DEPTH>[, __Bool__ <CURRENT>[, __Array__ <OPTIONS> ] ] ] ) |
- | cat_submenu( __Int__ <PAGE_ID>[, __Int__ <DEPTH>[, __Bool__ <CURRENT>[, __Array__ <OPTIONS> ] ] ] ) | + | cat_submenu ( __Int__ <PAGE_ID>[, __Int__ <DEPTH>[, __Bool__ <CURRENT>[, __Array__ <OPTIONS> ] ] ] ) |
cat_siblingsmenu( __Int__ <PAGE_ID>[, __Int__ <DEPTH>[, __Bool__ <CURRENT>[, __Array__ <OPTIONS> ] ] ] ) | cat_siblingsmenu( __Int__ <PAGE_ID>[, __Int__ <DEPTH>[, __Bool__ <CURRENT>[, __Array__ <OPTIONS> ] ] ] ) | ||
+ | |||
+ | Erst ab BlackCat CMS Version 1.1 final: | ||
+ | |||
+ | cat_fullmenu ( [ __Array__ <OPTIONS> ] ) | ||
+ | |||
+ | (Der besseren Lesbarkeit halber wurden die Klammern passend eingerückt.) | ||
+ | |||
+ | ==== Optionen ==== | ||
Die Optionen sind immer dieselben, **alle** Optionen sind - ähm - optional. Diese sind: | Die Optionen sind immer dieselben, **alle** Optionen sind - ähm - optional. Diese sind: | ||
Zeile 23: | Zeile 38: | ||
**DEPTH** | **DEPTH** | ||
- | Erlaubt es, die maximale Tiefe des Menüs einzuschränken. Der Effekt hängt vom jeweiligen Menütyp ab. | + | Erlaubt es, die maximale Tiefe des Menüs einzuschränken. Der Effekt hängt vom jeweiligen Menütyp ab. Standardwert ist '999', was 'unbegrenzt' entspricht. (Mehr Menüebenen als 4 oder 5 sind ohnehin nicht zu empfehlen.) |
**CURRENT** | **CURRENT** | ||
- | Bestimmt, ob die aktuelle Seite im Menü auftaucht oder nicht. Die Standardeinstellung hierfür hängt vom Menütyp ab. | + | Bestimmt, ob die aktuelle Seite selbst auch im Menü auftaucht oder nicht. Die Standardeinstellung hierfür hängt vom Menütyp ab. |
**OPTIONS** | **OPTIONS** | ||
Zeile 62: | Zeile 77: | ||
+ Page2Child1Child2 | + Page2Child1Child2 | ||
+ Page2Child1Child2Child1 | + Page2Child1Child2Child1 | ||
- | | + | |
'x' entspricht im diesem Beispiel der ID der Seite ''Page2''. Aus diesem Grund werden die beiden anderen Seiten auf dem obersten Level - ''Page1'' und ''Page3'' - nicht im Menü aufgeführt. | 'x' entspricht im diesem Beispiel der ID der Seite ''Page2''. Aus diesem Grund werden die beiden anderen Seiten auf dem obersten Level - ''Page1'' und ''Page3'' - nicht im Menü aufgeführt. | ||
Zeile 71: | Zeile 86: | ||
{cat_siblingsmenu()} | {cat_siblingsmenu()} | ||
- | | + | |
Sichtbare Seiten: | Sichtbare Seiten: | ||
Zeile 78: | Zeile 93: | ||
(Es gibt keine weiteren Seiten auf der gleichen Ebene wie Page2Child1Child2Child.) | (Es gibt keine weiteren Seiten auf der gleichen Ebene wie Page2Child1Child2Child.) | ||
+ | Würde man beispielsweise nur die Seiten der obersten Ebene sehen wollen, wäre die Angabe: | ||
+ | {cat_siblingsmenu(NULL)} | ||
+ | |||
+ | Durch den Wert ''NULL'' als Seiten-ID (es geht auch '0') wird die Wurzel als Ausgangspunkt verwendet. Alternativ könnte man auch die ID einer der drei Seiten ''Page1'', ''Page2'' oder ''Page3'' angeben. | ||
+ | |||
+ | Ergebnis: | ||
+ | |||
+ | + Page1 | ||
+ | + Page2 | ||
+ | + Page3 | ||
==== cat_breadcrumb ==== | ==== cat_breadcrumb ==== | ||
Zeile 103: | Zeile 128: | ||
+ Page2Child1 | + Page2Child1 | ||
+ Page2Child1Child2 | + Page2Child1Child2 | ||
+ | |||
+ | ==== Der letzte Parameter (OPTIONS) ==== | ||
+ | |||
+ | Mit Hilfe des letzten Parameters lassen sich einige Einstellungen bezüglich der CSS-Klassen vornehmen. Die gewünschten Optionen werden einfach kommasepariert angegeben. Hier ein Beispiel: | ||
+ | |||
+ | {cat_siblingsmenu(1, NULL, false, current: current_page_item, first: first_item)} | ||
+ | |||
+ | Derzeit werden folgende Einstellungen angeboten: | ||
+ | |||
+ | * list-class\\ Die CSS-Klasse für die Liste als solche, also <ul> | ||
+ | * first\\ Die CSS-Klasse für das jeweils erste Element der Liste, also das erste <li> | ||
+ | * last\\ Die CSS-Klasse für das jeweils letzte Element der Liste, also das letzte <li> vor dem </ul> | ||
+ | * child\\ Die CSS-Klasse für Elemente, die Unterelemente haben, also das <li>, welches ein <ul> und damit eine untergeordnete Liste beinhaltet | ||
+ | * current\\ Die CSS-Klasse für die aktuelle Seite | ||
+ | |||
+ | Ab BlackCat CMS Version 1.1 final: | ||
+ | |||
+ | * closed\\ CSS-Klasse für ein Element, das Unterelemente hat, die jedoch verborgen sind | ||
+ | * open\\ CSS-Klasse für ein offenes (aufgeklapptes) Element | ||
+ | * prefix\\ Ein einheitliches Präfix für die CSS-Klassen; Standard: leer | ||
+ | * ul-class\\ CSS-Klasse für <ul> | ||
+ | * ul-id\\ Eine ID für die Liste, also das allererste <ul>; Alias: ''list-id'' | ||
+ | | ||
+ | Um **mehrere CSS-Klassen** anzugeben, werden diese in **Anführungszeichen** gesetzt: | ||
+ | |||
+ | {cat_siblingsmenu(1, NULL, false, list-class: "top right nav-list")} | ||
+ | |||
+ | Wichtig ist auch das Leerzeichen nach dem Doppelpunkt! | ||
+ | |||
+ | ====== ab CMS Version 1.2 ====== | ||
+ | |||
+ | ===== Änderungen ===== | ||
+ | |||
+ | Ab CMS Version 1.2 entfallen die Parameter <DEPTH> und <CURRENT> bzw. werden in die allgemeinen Optionen verschoben. Der Aufruf für alle Menüs ist jetzt | ||
+ | |||
+ | cat_xxxmenu(<MenuID>[, <Optionen>]) | ||
+ | |||
+ | ...wobei xxx z.B. für "full" steht. | ||
+ | |||
+ | Der Parameter <DEPTH> wird ersetzt durch **''maxlevel''**. | ||
+ | Der Parameter <CURRENT> wird ersatzlos gestrichen. | ||
+ | |||
+ | |||
+ | === Startlevel angeben === | ||
+ | |||
+ | Der Startlevel bestimmt den Einstiegspunkt eines Menüs. Der Standard-Startlevel ist 0, das heißt es werden alle Seiten berücksichtigt. | ||
+ | |||
+ | Manchmal ist es notwendig, einen anderen Startlevel anzugeben, etwa wenn sich auf Level 0 die Einstiegsseiten für die verschiedenen Sprachen befinden. In diesem Fall kann man mit Hilfe des Parameters ''startlevel'' einen abweichenden Einstiegslevel angeben. | ||
+ | |||
+ | Beispiel: | ||
+ | |||
+ | {cat_siblingsmenu(1, NULL, false, list-class: "top right nav-list", startlevel: 1)} | ||
+ | |||
+ | |||
+ |