Seite 1 von 2

Navigation

Verfasst: Di 21. Okt 2014, 16:38
von rollkragenpulli
Hallo,

da ich bei der Forensuche leider nichts gefunden habe mache ich mal ein neues Thema auf.

Ich habe auf meiner Seite einige Menüpunkte erstellt.
Nun möchte ich gerne das die Unterpunkte erst sichtbar werden wenn man auf den Menüpunkt klickt.

Ich hoffe ihr versteht was ich meine :)

Meine BC Version:
1.0.4

Danke im Voraus

LG

Re: Navigation

Verfasst: Di 21. Okt 2014, 16:39
von shadowcat
Dazu gibt es verschiedene Ansätze. Bist Du ehemaliger WB-Benutzer? Also kennst Du show_menu2()?

Re: Navigation

Verfasst: Di 21. Okt 2014, 17:34
von rollkragenpulli
habe nur ganz kurz mit WB gearbeitet... so ~ 2 Tage

Re: Navigation

Verfasst: Mi 22. Okt 2014, 08:46
von creativecat
Würde dir eine Lösung mit CSS und Hover oder mit JavaScript auch ausreichen? Das wären die beiden denkbar einfachsten Lösungen ;-)

Re: Navigation

Verfasst: Mi 22. Okt 2014, 09:37
von rollkragenpulli
ja würde vollkommen reichen
:)

Re: Navigation

Verfasst: Mi 22. Okt 2014, 11:19
von shadowcat
Das wäre doch was für unser Wiki. :) Da gibt's schon ein paar Artikel zu den Dwoo-Plugins (cat_submenu() etc.), aber noch keinen zu show_menu2(). Wie ich hörte, funktioniert wohl auch der alte Link zur SM2-Doku nicht mehr, das wollte ich eh noch checken.

Re: Navigation

Verfasst: Mi 22. Okt 2014, 12:58
von creativecat
Oha!
Aber der hier geht noch...

Ich muss mal schauen. Nächste Woche sind Herbstferien. Vielleicht schaffe ich da mal wieder was!

Re: Navigation

Verfasst: Mi 22. Okt 2014, 15:38
von shadowcat
Ich nehme mal an, Du verwendest unser Standard-Template "Mojito", richtig?

Für eigene Anpassungen in Templates verwendet man die sogenannten Template-Varianten. Um für Mojito eine eigene einzurichten und zu nutzen, gehst Du folgendermaßen vor:

1. Im Verzeichnis /templates/mojito/templates existieren zwei Unterverzeichnisse, nämlich "default" und "blank". Hier legst Du ein neues Verzeichnis an, z.B. "custom"
2. Als nächstes kopierst Du die index.tpl aus dem Verzeichnis "default" in das neue Verzeichnis. Nur diese Datei, die anderen brauchst Du nicht!
3. Jetzt mußt Du Deine Variante noch auswählbar machen. Wenn Du das Verzeichnis "custom" genannt hast, ist nichts zu tun, andernfalls öffnest Du die Datei ./templates/mojito/info.php und suchst diese Zeile:

Code: Alles auswählen

$template_variants		= array( 'default', 'blank', 'custom' );
In die Liste fügst Du Deine eigene Variante ein, sagen wir mal:

Code: Alles auswählen

$template_variants		= array( 'default', 'blank', 'custom', 'rollkragenpulli' );
Wenn Du jetzt noch im Backend unter Einstellungen -> Frontend -> Variante (Skin) Deine neue Variante einstellst, passiert erst mal nix weiter - Du hast ja noch nix geändert. Das machen wir als nächstes.

Öffne die kopierte index.tpl, also die in dem neuen Verzeichnis. Dort gibt es zwei Navigationsmenüs: Das oben (Meta) und das links (Haupt). Du willst vermutlich das linke anpassen. Der zugehörige Teil in der index.tpl sieht so aus:

Code: Alles auswählen

<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 findest Du unter dem Link, den creativecat oben gepostet hat. 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, nimm hier einfach hin. Das ist sehr komplex und es fällt mir schwer, es zu erklären. ;)

Jedenfalls ist es der letzte genannte Parameter, den Du ändern mußt.

Code: Alles auswählen

<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.

Code: Alles auswählen

<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!

Jetzt wäre noch ein kleiner Patch in der index.php notwendig, damit die Variante korrekt berücksichtigt wird, aber ich hänge Dir der Einfachheit halber die Änderungen hier an. Nach ./templates/mojito entpacken und unter Einstellungen -> Variante -> custom auswählen.

Re: Navigation

Verfasst: Do 23. Okt 2014, 11:16
von rollkragenpulli
boah perfekt
sehr cool vielen dank :D :D :D 8-) 8-) 8-)

habe den dateianhang erst zum schluss gesehen nachdem ich die änderungen so gemacht habe :D

danke!

Re: Navigation

Verfasst: Do 23. Okt 2014, 11:17
von shadowcat
Macht doch nix, dann hast Du für das nächste Mal schon Übung. :D