Das Template „Mojito“ verfügt über mehrere Menüs, nämlich jeweils eines im Header und Footer und das Hauptmenü auf der linken Seite. Letzteres öffnet standardmäßig alle Menüebenen, das heißt, alle vorhandenen Seiten sind direkt zugänglich. Bei vielen (Unter-)Menüpunkten ist das eventuell nicht wünschenswert.
Für eigene Anpassungen in Templates verwendet man die sogenannten Template-Varianten. Um für Mojito eine eigene einzurichten und zu nutzen, geht man folgendermaßen vor:
./templates/mojito/info.php
öffnen und folgende Zeile suchen:$template_variants = array( 'default', 'blank', 'custom' );
$template_variants = array( 'default', 'blank', 'custom', 'myvariant' );
Als nächstes wird im Backend unter Einstellungen → Frontend → Variante (Skin) die neue Variante ausgewählt und die Einstellung gespeichert. Davon sollte im Frontend noch nichts zu sehen sein, es wurde ja noch nichts geändert.
Als nächstes öffnen wir die kopierte index.tpl
, also die in dem neuen Verzeichnis. Dort gibt es zwei Navigationsmenüs: Das oben (Meta) und das links (Haupt). Wir wollen das linke anpassen. Der zugehörige Teil in der index.tpl sieht so aus:
<aside id="sidebar" class="{if !check_section(2)}br_left{else}br_bottomleft{/if}"> {show_menu(1, SM2_ROOT, SM2_ALL, SM2_ALL|SM2_XHTML_STRICT, '<li class="sib_[sib] [class]">[ac][menu_title]</a>', '</li>', '<ul class="hauptnavigation menu-[level]">', '</ul>')} </aside>
Die Erklärung der Parameter ist in der README.txt zu finden. Hier nur die wichtigsten:
1
- Die Nummer des Menüs
SM2_ROOT
- Das Menü startet mit dem Rootknoten
SM2_ALL
- Es sollen alle Menüebenen angezeigt (geöffnet) werden (maximaler Menülevel)
SM2_ALL|SM2_XHTML_STRICT
- Es sollen alle Menüebenen angezeigt (geöffnet) werden und XHTML-konforme Ausgabe
Daß SM2_ALL doppelt gemoppelt erscheint, nehmen wir an dieser Stelle einfach mal hin.
Der letztgenannte Parameter beeinflußt die Art des Menüs. Hier müssen wir die erste Anpassung vornehmen:
<aside id="sidebar" class="{if !check_section(2)}br_left{else}br_bottomleft{/if}"> {show_menu(1, SM2_ROOT, SM2_ALL, SM2_ALL|SM2_TRIM|SM2_XHTML_STRICT, '<li class="sib_[sib] [class]">[ac][menu_title]</a>', '</li>', '<ul class="hauptnavigation menu-[level]">', '</ul>')} </aside>
SM2_TRIM
bedeutet, daß der Teilbaum des Menüs geöffnet wird, in dem man sich befindet. Der Effekt ist, daß auch hier jetzt alle Untermenüebenen angezeigt werden, sobald der Teilbaum geöffnet ist. Möchte man nur eine Unterebene öffnen, regelt das der dritte Parameter, hier SM2_ALL
. Dieser wird nun noch in SM2_CURR+1
geändert, das heißt „Aktuelle Ebene plus eine Unterebene“.
<aside id="sidebar" class="{if !check_section(2)}br_left{else}br_bottomleft{/if}"> {show_menu(1, SM2_ROOT, SM2_CURR+1, SM2_ALL|SM2_TRIM|SM2_XHTML_STRICT, '<li class="sib_[sib] [class]">[ac][menu_title]</a>', '</li>', '<ul class="hauptnavigation menu-[level]">', '</ul>')} </aside>
Voilà! Das Menü öffnet sich um jeweils die nächste Unterebene!