Het gebruik van meervoudige menu's werd reeds getoond aan de hand van het voorbeeld template in de vorige hoofdstukken. Dit hoofdstuk gaat over de benodigde set-up en geeft meer informatie over de variabelen die worden gebruikt door de menu-functie show_menu().
De term meervoudige menu's wordt gebruikt voor menu's die onafhankelijk van elkaar werken. Deze term dient niet verward te worden met meervoudige menu-oproepen, welke gebruikt kunnen worden om diverse varianten van hetzelfde menu te tonen. De toepassing van beide varianten wordt hieronder verder uitgelegd.
Een toepassing van twee verschillende menu's is reeds besproken in het voorbeeld-template in de vorige hoofdstukken. Het top menu bevat de pagina's "Disclaimer" en "Contact", en het andere menu wordt gebruikt voor de hoofd-navigatie aan de linkerzijde van het scherm. Meervoudige menu's maken het mogelijk om pagina's toe te wijzen aan verschillende menu-groepen. Op deze manier hoeft men geen rekening te houden met menu-niveau's, PAGE_ID, etc.
Meervoudige menu's vereisen het toevoegen van extra regels in het bestand info.php van uw template. Los daarvan dient het gebruik van meervoudige menu's ingeschakeld te worden in de WB Instellingen.
Het is mogelijk om de menu-functies (show_menu, show_menu2) diverse keren op te roepen voor één en hetzelfde menu. Meervoudige menu's kunnen gebruikt worden om de ouder-pagina's (root niveau) van een menu te tonen op één locatie en alle pagina's van het menu-niveau daaronder (root niveau +1) op een andere locatie. Deze methode wordt onder andere gebruikt voor het opzetten van meertalige websites. Een ander voorbeeld is het tonen van een "U bent hier" pad (breadcrumbs) door het gebruiken van de externe code snippet show_menu2 naast het hoofd-navigatie menu.
Meervoudige menu-oproepen kunnen gebruikt worden voor één menu (eerste parameter van de menu-functie $menu_number is identiek) door het toevoegen van aparte menu-oproepen in het bestand index.php van het template. Deze methode vereist geen toevoegingen in de info.php of wijzigingen van de WB Instellingen.
Meervoudige menu's kunnen gebruikt worden voor het groeperen van pagina's in een bepaald menu (bijv. "Disclaimer" en "Contact"). Het gebruik van meer dan één onafhankelijk menu (verwar dit niet met meervoudige menu-oproepen) vereist de volgende stappen.
Bestand: info.php
Website Baker vereist een unieke naam in het bestand info.php voor elk apart menu. Deze informatie wordt voorzien via de array variabele $menu[x]. Het hoofdmenu dient gemerkt te worden als nummer 1, gevolgd door de additionele menu's die U wilt toevoegen. Een voorbeeld van twee onafhankelijke menu's staat hieronder.
// definities voor meervoudige menus
// (nodig als meer dan een menu wordt gebruikt)
$menu[1] = 'Hoofd navigatie';
$menu[2] = 'Top navigatie';
De menu-namen worden getoond in de WB backend om pagina's toe te wijzen aan een bepaald menu. Het verdient daarom aanbeveling om uitgesproken namen te gebruiken voor de diverse menu's.
Bestand: index.php
Elk individueel menu vereist een oproep van de template functie in het bestand index.php van het template. De parameter die meegegeven wordt aan de functie show_menu(x) correspondeert met het menu-nummer dat toegewezen werd in het bestand info.php. Plaats de template functie oproepen op de plek in het template waar het menu getoond dient te worden.
<?php show_menu(1); ?>
<?php show_menu(2); ?>
Meervoudige menu's zijn standaard uitgeschakeld in de Website Baker instellingen. Het gebruik van meervoudige menu's kan ingeschakeld worden via de WB backend: Instellingen -> Bekijk geavanceerde opties -> Meervoudige menu's -> Aan
Als u een nieuwe pagina toevoegt via de WB backend, zal het automatisch worden toegewezen aan het eerste menu: $menu[1].
U kunt de pagina aan een ander menu toewijzen via de WB backend: Pagina's -> Instellingen ![]()
Het volgende scherm wordt getoond.

Figuur 1: Een pagina aan een menu toewijzen
Via het dropdown-menu "Menu:" (zie figuur 1), kan men een pagina toewijzen aan elk menu dat gedefiniëerd is in het bestand info.php van het template.
Hier is een overzicht van de variabelen die gebruikt worden in de menu-functie show_menu(). Dit is de standaard menu-functie van Website Baker sinds WB 2.6.x. Het vervangt daarmee de oude page_menu() functie van Website Baker 2.5.x.
Afhankelijk van de toepassing kan de functie show_menu meermaals opgeroepen worden in het bestand index.php van het template. Een waarde groter dan 1 voor de eerste variabele houdt in dat er gebruikt wordt gemaakt van meervoudige, onafhankelijke menu's.
Om het standaard menu weer te geven, gebruik U <?php show_menu(); ?> in de HTML code van uw template. Meestal hoeft U niet meer dan de eerste vier parameters toe te voegen.
Syntaxis (voor gebruik in het bestand index.php van het template):
<?php show_menu($menu_number, $start_level, $recurse, $collapse, $item_template,
$item_footer, $menu_header, $menu_footer, $default_class,
$current_class,$parent); ?>
Uitleg van de variabelen:
| Position | Variable | Description | Default Value |
| 1 | $menu_number | Met geactiveerde "meervoudige menu's" kan hier gekozen worden welk menu getoond dient te worden. | 1 |
| 2 | $start_level | Het eerste niveau van de getoonde menu-boom. Standaard is deze '0', hetgeen het bovenste niveau van de hierarchie is. Een waarde van '1' toont de menu-boom vanaf het eerste sub-niveau. | 0 |
| 3 | $recurse | Het maximaal aantal niveau's dat getoond dient te worden. Standaard is deze '-1', hetgeen 'alles' betekent. | -1 |
| 4 | $collapse | Als deze op 'true' staat, is het menu in-/uitklapbaar. Indien deze 'false' is wordt de gehele menu-boom getoond (alle pagina's). | true |
| 5 | $item_template | Hier kan de html-code gespecificeerd worden die wordt gegenereerd vóór elke sub-pagina. | '<li><span[class]>[a][menu_title] [/a]</span>' |
| 6 | $item_footer | De html-code die wordt gegenereerd na elke sub-pagina. | '</li>' |
| 7 | $menu_header | De html-code die wordt gegenereerd vóór de gehele menu-code en elke sub-tak. | '<ul>' |
| 8 | $menu_footer | De html-code die wordt gegenereerd na de gehele menu-code en elke sub-tak. | '</ul>' |
| 9 | $default_class | De (CSS) klasse van elke menu-item, behalve de momenteel bekeken pagina. | ' class="menu_default"' |
| 10 | $current_class | De klasse van de momenteel bekeken pagina. | ' class="menu_current"' |
| 11 | $parent | (wordt intern gebruikt) Het page-id van de root van het menu, standaard is '0' (root van de hiërarchie) | 0 |
show_menu(1,0,-1,false); - toont de hele menu-boom uitgeklapt
show_menu(1,1,1); - toont alleen het eerste sub-niveau \
show_menu(1,1,-1); - toont een in-/uitklapbaar menu vanaf niveau 1
Opmerking:
De WB functie show_menu() genereert invalide (X)HTML-code als geneste lijsten worden gebruikt. Als U valide (X)HTML code wilt genereren, dient het aanbeveling om gebruik te maken van de externe code snippet show_menu2 (beschikbaar via de Add-ons Repository).
Naast de valide (X)HTML-code is show_menu2 sneller en bevat deze meer mogelijkheden om elk menu te maken dat te bedenken is. Meer informatie kunt U vinden in het Readme bestand op de homepage van de ontwikkelaar.
Copyright (c) 2007 Website Baker Hilfe Team
Tekst en afbeeldingen uit deze pagina zijn onderworpen aan een Creative Commons Attribution-NonCommercial-No Derivative 3.0 Licentie. Het is toegestaan om dit werk te kopieëren en distribueren voor niet-commerciële doeleinden, mits er geen wijzigingen worden aangebracht en deze copyright mededeling en een link naar http://help.websitebaker.org worden bijgevoegd.