WebsiteBaker Support (2.13.x) > Hilfe & Support (deutsch)
Hilfe benötigt mit show_menu2
sternchen8875:
na dann probieren wir es mal so (auch, wenn der CSS-Code oben unvollständig ist)
$iMenu = Nummer des Menüs
$iStart = Startlevel des Menüs. SM2_ROOT wäre Level 0. Möchtest du Mehrsprachigkeit, braucht es bei einen Faktor, den man manuell eintragen kann oder vom Script ermittelt bekommt. Das DefaultTemplate zeigt dir da Beispiele
$iMaxLevel = hier: SM2_ALL, also alle vorhandenen öffentlichen Seiten in allen Menü-Level. Weitere Möglichkeiten in der Readme zum ShowMenu2
$iOptions = die Menü-Optionen - Weitere Möglichkeiten in der Readme zum ShowMenu2
$sItemOpen = Code, der für jeden einzelnen Menüpunkt verwendet wird, also jedem <li>. Hier mit der Bedingung: hat eine Hauptseite Unterseiten (Childs), füge die Menüklasse submenu ein
$sItemClose = der schließende </li>-Tag
$sMenuOpen = wird für jedes Untermenu verwendet, hier wird je Untermenü eine eigene Liste mit der CSS-Klasse submenu-content verwendet
$sMenuClose = der schließende Tag zum <ul> der Untermenüs
$mTopItemOpen = wird hier nicht benötigt, darum = false
$mTopMenuOpen = der öffnende Tag zum Menu im Level == 0
der Menü-Code ausnahmsweise mal in einem Zitatblock, damit er nicht verfälscht wird
--- Quote --- <?php
// zuerst die Definition der einzelnen Teile
$iMenu = 1;
$iStart = SM2_ROOT+$iMultiLang;
$iMaxLevel = SM2_ALL;
$iOptions = SM2_ALL|SM2_BUFFER|SM2_PRETTY;
$sItemOpen = '<li class="[if(class==menu-expand){submenu}] [class]"><a href="[url]" class="[class]"><span>[menu_title]</span></a>';
$sItemClose = '</li>';
$sMenuOpen = '<ul class="submenu-content">';
$sMenuClose = '</ul>';
$mTopItemOpen = false;
$mTopMenuOpen = '<ul class="menu">';
// nun die Definition der Funktion
$sMainNav = show_menu2(
$iMenu,
$iStart,
$iMaxLevel,
$iOptions,
$sItemOpen,
$sItemClose,
$sMenuOpen,
$sMenuClose,
$mTopItemOpen,
$mTopMenuOpen
);
?>
und die Ausgabe:
<?php
echo $sMainNav;
?>
--- End quote ---
md001:
Damit so ist es schon verständlicher. Es funktioniert in jedem Fall erst mal und ich hoffe, dass ich es jetzt verstanden habe 😬
Vielen Dank.
sternchen8875:
Sehr schön (Y)
damit lassen sich dann auch richtig komplexe Abfragen realisieren, z.b. so etwas
--- Code: ---$sItemOpen ='<li class="[if(class=menu-current||class=menu-parent){active}] [if(class==menu-expand){dropdown}] level="lev[level]">
[if(class==menu-expand){<a href="[url]" class="dropdown-toggle" data-toggle="dropdown">[menu_title]<b class="caret"></b></a>}
else {<a id="p[page_id]" href="[url]" target="[target]" class="[class]">[menu_title]</a>}]'
--- End code ---
hieße "übersetzt"
Ist die (vom Code automatisch vergebene) Menüklasse gleich menu-current oder gleich menu-expand, dann setze die Klasse "active" im <li>-Tag, ist nur die Klasse menu-expand gesetzt, setze zusätzlich noch die Klasse "dropdown"
Ist die Klasse menü-expand gesetzt, (heißt: Seite hat Childs bzw Unterseiten), dann setze im a-Tag diesen Menü-Link-Code (2.Zeile des Code-Beispiels), wenn nicht, den anderen Code aus Zeile 3 des Beispiels
Mit Hilfe der Page-ID lassen sich dann auch einzelne Menü-Button ansprechen ( id="p[page_id]") z.b. um ihnen einzelne Farben oder (über CSS) einzelne Icons zuzuweisen.
Damit läßt sich dann so fast alles, was an Menüs aktuell für Webseiten bekannt ist, umsetzen
Navigation
[0] Message Index
[*] Previous page
Go to full version