See lepton-cms.com for documentation.
function show_menu2( $aMenu = 0, $aStart = SM2_ROOT, $aMaxLevel = SM2_CURR+1, $aOptions = SM2_TRIM, $aItemOpen = '[li][a][menu_title]</a>', $aItemClose = '</li>', $aMenuOpen = '[ul]', $aMenuClose = '</ul>', $aTopItemOpen = false, $aTopMenuOpen = false )
child1 << | | (no next)
Show code // get the required information $info = show_menu2(0, SM2_CURR, SM2_START, SM2_ALL|SM2_BUFFER, '[if(class==menu-current){[level] [sib] [sibCount] [parent]}]', '', '', ''); list($nLevel, $nSib, $nSibCount, $nParent) = explode(' ', $info); // show previous $prv = $nSib > 1 ? $nSib - 1 : 0; if ($prv > 0) { show_menu2(0, SM2_CURR, SM2_START, SM2_ALL, "[if(sib==$prv){[a][menu_title]</a> <<}]", '', '', ''); } else echo '(no previous)'; echo ' | '; // show up level if ($nLevel > 0) { $lev = $nLevel - 1; show_menu2(0, SM2_ROOT, SM2_CURR, SM2_CRUMB, "[if(level==$lev){[a][menu_title]</a>}]", '', '', ''); } else echo '(no parent)'; echo ' | '; // show next $nxt = $nSib < $nSibCount ? $nSib + 1 : 0; if ($nxt > 0) { show_menu2(0, SM2_CURR, SM2_START, SM2_ALL, "[if(sib==$nxt){>> [a][menu_title]</a>}]", '', '', ''); } else echo '(no next)'; |
||||||||
fullThe full menu show_menu2(0, SM2_ROOT, SM2_ALL, SM2_ALL|SM2_NUMCLASS|SM2_PRETTY, false, false, '<ul class="mark [class]">'); Using CSS selectors to show parents (p), current (c), sibling (s) and children (c-N). Note: the CSS selectors works only in modern browsers. IE6 is not a modern browser. |
sitemapCreating a full sitemap show_menu2(SM2_ALLMENU, SM2_ROOT, SM2_ALL, SM2_ALL|SM2_ALLINFO, '[li]<span class="content">[a][page_title]</a> (menu: [a][menu_title]</a>)<br /><i>[description]</i><br />([keywords])</span>', false, '<ul class="sitemap [class]">'); |
|||||||
udm4Using UDM4 popup menus show_menu2(0, SM2_ROOT, SM2_ALL, SM2_ALL, false, "\n</li>", false, false, false, '<ul class="udm" id="udm">'); See UDM4. |
defaultThe default trimmed menu show_menu2(); |
|||||||
breadcrumbsBreadcrumbs for the entire current path show_menu2(0, SM2_ROOT, SM2_CURR, SM2_CRUMB, '<span class="[class]"> > [a][menu_title]</a>', '</span>', '', '', '<b>You are here:</b> <span class="[class]">[a][menu_title]</a>'); |
breadcrumbs2Breadcrumbs for a max of 2 levels show_menu2(0, SM2_ROOT, SM2_MAX+1, SM2_CRUMB, '<span class="[class]"> > [a][menu_title]</a>', '</span>', '', '', '<b>You are here:</b> <span class="[class]">[a][menu_title]</a>'); |
|||||||
olFull Menu using OL show_menu2(0, SM2_ROOT, SM2_ALL, SM2_ALL, false, false, '<ol>', '</ol>'); |
siblingsShowing all siblings show_menu2(0, SM2_ROOT, SM2_CURR+1, SM2_SIBLING); |
|||||||
parentGetting the menu tree rooted at parent item
// get the page_id of the root item for the current page |
currentShowing the current tree only
// generate the menu for the current tree only |
|||||||
rootShow the root level only show_menu2(0, SM2_ROOT, SM2_START); |
childsibShow children and siblings only This is often used when splitting menus between the root menu and a side menu showing the children of the current page. This menu will show all of the children of the current top level menu, but will continue to display the siblings of child pages as well when a lower level menu is selected. show_menu2(0, SM2_ROOT+1, SM2_CURR+1); |
|||||||
currlevelCurrent level only show_menu2(0, SM2_CURR, SM2_CURR); |
currchildCurrent children only show_menu2(0, SM2_CURR+1, SM2_CURR+1); |
|||||||
tableGenerate a table based menu
<table border="1">
|
spanGenerate a span based menu show_menu2(0, SM2_ROOT, SM2_START, SM2_ALL, '<span>| [a][menu_title]</a>', ' |</span>', '', ''); | Home || Enterprise || Time || Oompa || Parent || Site Map || Conditional | |
|||||||
firstFirst level only show_menu2(0, SM2_ROOT, SM2_START); |
secondSecond level only show_menu2(0, SM2_ROOT+1, SM2_START); |
|||||||
trimmedEntire tree but trimmed show_menu2(0, SM2_ROOT, SM2_ALL, SM2_TRIM); |
specchildChildren of a specific page (page = Cogs) show_menu2(0, 9, SM2_ALL, SM2_ALL); [page_id of Cogs is 9] |
|||||||
max2Maximum of 2 levels show_menu2(0, SM2_ROOT, SM2_MAX+1); |
allchildAll children of the current page show_menu2(0, SM2_CURR+1, SM2_ALL); |
|||||||
hiddenChildren of a hidden menu This shows the children of a hidden menu. They don't show up in a normal menu listing and can be used to display a fixed set of menu items. The root of the menu is set to the page ID of the hidden parent. show_menu2(0, 19, SM2_ALL, SM2_ALL); |
level2All 2nd level menus (not trimmed to current tree) show_menu2(0, SM2_ROOT+1, SM2_START, SM2_ALL); |
|||||||
textMenu as text show_menu2(0, SM2_ROOT, SM2_START, SM2_ALL, ' | [a][menu_title]</a>', '', '', '', '[a][menu_title]</a>'); Home | Enterprise | Time | Oompa | Parent | Site Map | Conditional |
multiThe full menu of menu #2 (multi menu) show_menu2(2, SM2_ROOT, SM2_ALL, SM2_ALL); |
|||||||
sibonlyShow siblings only and not the current show_menu2(0, SM2_CURR, SM2_CURR, '','[if(class!=menu-current){- [a][menu_title]</a><br />}]','','','<br />'); - child1 |
langThe sort of menu used for a multi-language menu. The top level is the language, so start from SM2_ROOT+1. Display to the current level plus children. See this page for an example. Note that the "Enterprise" page is considered to be the language code. show_menu2(0, SM2_ROOT+1, SM2_CURR+1); |
|||||||
default2Default menu Note: this is the default output show_menu2(); |
notrimUse of the extended option: notrim Demonstrates the use of the extended option "notrim" with everything else set to default. Compare it to the default output from show_menu2(). $options = array('flags' => SM2_TRIM, 'notrim' => 1); |
|||||||
orig2Output from show_menu for menu #2 show_menu(2); |
orig1Output from show_menu for menu #1 show_menu(1); |
Full menu as a horizontal table
show_menu2(0, SM2_ROOT, SM2_ALL, SM2_ALL, '<td class="[class]">[a][menu_title]</a>', '</td>', '<table class="menu"><tr>', '</tr></table>');
defaultorigDefault output from show_menu show_menu(); |
defaultsm2Default output from sm2 version of show_menu sm2_show_menu(); |