Benutzer-Werkzeuge

Webseiten-Werkzeuge


cookbook:menus

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
cookbook:menus [2014/07/29 19:37]
shadowcat [cat_submenu]
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 92: Zeile 117:
         + Page2Child1Child2Child1         + Page2Child1Child2Child1
  
-Angezeigt wird der "​Pfad"​ von der obersten Ebene bis zur aktuellen Seite.+Angezeigt wird der "​Pfad"​ von der obersten Ebene bis zur aktuellen Seite. ​Standardmäßig wird die aktuelle Seite selbst ebenfalls angezeigt, was bei einem Breadcrumb auch sinnvoll ist. Dies läßt sich durch Angabe der Option ''​CURRENT''​ unterbinden:​ 
 + 
 +    {cat_breadcrumb(NULL,​999,​false)} 
 + 
 +Da hierbei eigentlich nur der dritte Parameter angegeben werden soll, man die anderen aber nicht einfach weglassen kann, wird der erste - ''​PAGE_ID''​ - auf ''​NULL''​ gesetzt - das entspricht wiederum der Angabe ''​SM2_ROOT''​ bei ShowMenu2, also der obersten Seite. Der zweite - ''​DEPTH''​ - könnte auch auf einen niedrigeren Wert gesetzt werden, die Angabe 999 entspricht der Standardeinstellung. 
 + 
 +Ergebnis: 
 + 
 +  + Page2 
 +    + Page2Child1 
 +      + 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)} 
 + 
 + 
cookbook/menus.1406655459.txt.gz · Zuletzt geändert: 2014/07/29 00:00 (Externe Bearbeitung)