Meerdere Menu’ s

show_menu2, versie 4.9 x

Show_Menu2 is een codefragment voor de CMS WebsiteBaker. Sinds WebsiteBaker 2.7 is het inbegrepen bij het CMS.
de voormalige show_menu functie is volledig vervangen en uitgebreid met show_menu2. Alle gegevens die nodig zijn om het menu aan te maken, worden gegenereerd door een enkele database query. Door uitgebreide aanpassingsmogelijkheden van de gegenereerde HTML-code alle mogelijke menu types (lijsten, paneermeel, sitemaps, enz.) kan worden gegenereerd.

  • installatie
  • Show_Menu2
  • FAQ
  • functie
  • HTML-uitvoer
  • Parameter
  • geavanceerde opties
  • Format Strings
  • Conditionele opmaak
  • Formatter

INSTALLATIONup

omdat show_menu2 gewoonlijk aanwezig is in WebsiteBaker, is geen installatie vereist. Als het, in tegenstelling tot de verwachtingen, niet bestaat, kunt u het hier downloaden.

SHOW_MENU2up

om show_menu2 te gebruiken moet u de sjabloon wijzigen waar u het menu wilt laten verschijnen. Let op: als oude menuaanroepen worden vervangen, moeten de overeenkomstige nieuwe parameters die show_menu2 nodig heeft ook worden gebruikt.

in de meeste gevallen is de standaard aanroep met ten minste 4 parameters van show_menu2 voldoende. In dit geval worden de standaardwaarden gebruikt, dit maakt een menu dat de huidige pagina en de subpagina ‘ s van de huidige pagina weergeeft:

show_menu2(0, SM2_ROOT, SM2_START, SM2_TRIM);

let op: de aanroep naar show_menu2 is PHP en moet normaal worden ingesloten in PHP code tekens (tenzij de aanroep al binnen PHP code):

 <?php show_menu2(0, SM2_ROOT, SM2_START, SM2_TRIM); ?>

dit standaardmenu maakt al een compleet menu aan op basis van een lijst met verschillende klassen die eenvoudige opmaak met behulp van CSS mogelijk maken. Bijvoorbeeld, de klasse “menu-current” wordt toegevoegd aan de <li> tag van het huidige menu-item. Bovendien bevat elk menu-item van de subitems de klasse “menu-expand”. Dit maakt het mogelijk om zeer gedifferentieerde CSS regels voor elk menu-item te maken.
bijvoorbeeld:

li.menu-expand { font-weight: bold; }li.menu-current { background: red; }

de sectie “HTML Output” bevat een gedetailleerde beschrijving van welke klassen worden toegewezen aan welk element. Door het gebruik van verschillende parameters in de show_menu2 functie aanroep, is het ook mogelijk om vrij uitgebreide en verschillende menustructuren te creëren. Als u bijvoorbeeld alleen menu-items van het hoogste niveau van de menustructuur wilt weergeven, kunt u de volgende aanroep gebruiken:

show_menu2(0, SM2_ROOT, SM2_START, SM2_TRIM);

of bijvoorbeeld om maximaal twee subniveaus van de huidige pagina weer te geven:

show_menu2(0, SM2_CURR+1, SM2_CURR+2, SM2_TRIM);

er zijn veel mogelijkheden om verschillende menustructuren te creëren. Talrijke voorbeelden zijn te vinden op de demo website: KLICK

FAQup

Q: Ik ben geen programmeur. Is er geen eenvoudigere documentatie?
A: Nee, want dit is al de eenvoudige documentatie.

V: Hoe kan ik een vervolgkeuzemenu aanmaken?
A: Dit heeft niets te maken met show_menu2. Om een drop-down menu te maken hoeft u alleen de CSS-code van de betreffende template aan te passen. De nodige aanpassingen zijn te vinden in bijvoorbeeld de” allcss2 ” template van de WebsiteBaker Addon Repository -> https://addon.websitebaker.org/

V: Waarom verdwijnt het menu nadat ik de zoekfunctie in een meertalige WebsiteBaker pagina heb gebruikt?
A: de benodigde regels ontbreken in het gebruikte sjabloon:

1. In de WB Admin Backend: Opties – > geavanceerde opties tonen – > zoekopties – > Header-voeg de volgende regel direct na het openen <form> tag in:

<input type="hidden" name="referrer" value="" />

2. plaats de volgende regel in de index.php van het gebruikte sjabloon onmiddellijk na het openen van <form> tag van de zoekopdracht:

<input type="hidden" name="referrer" value="<?php echo defined('REFERRER_ID')?REFERRER_ID:PAGE_ID;?>" />

Q: meertalig? Dat klinkt geweldig. Hoe doe je het?
A: https://help.websitebaker.org/en/designerguide/multilingual-websites.php

Q: elke keer dat een pagina wordt aangeroepen, genereert SM2 het volgende waarschuwingsbericht:
” show_menu2 error: $aOptions is ongeldig. Geen vlaggen van groep 1 geleverd!”
A: De verkeerde waarden of een verkeerd aantal waarden werden doorgegeven aan de functie.
zie de sectie PARAMETERS voor de juiste flag waarden om door te geven aan de parameter $aOptions.

V: Hoe gebruik ik een andere klasse/afbeelding/kleur/widget voor elk item in een menu?
A: Gebruik de format string in de $ aItemOpen string. Maak een unieke klasse of id voor elk menu-item, dan verwijzen naar dat item in uw CSS of Javascript om te doen wat je wilt.
om een unieke klasse toe te voegen voor elk menu-item (of vergelijkbaar):

"<li><a href="" target="" class=" p"></a>"

… het creëren van menu-items zoals …

<li><a href="/pages/foo/bar.php" target="_top" class="menu-top p45">Top Menu</a>

refereer dit in uw CSS zoals:

a.p45 { color: red; }

een unieke ID toevoegen voor elk menu-item (of vergelijkbaar)):

"<li><a href="" target="" class=""></a>"

… het creëren van menu-items zoals …

<li><a href="/pages/foo/bar.php" target="_top" class="menu-top">Top Menu</a>

refereer dit in uw CSS zoals:

a#p45 { color: red; }

merk op dat de ID alleen kan worden gebruikt als dat menu wordt gegenereerd en slechts één keer op de pagina wordt weergegeven (omdat HTML ID ‘ s uniek moeten zijn binnen een pagina).

FUNCTIONup

de volledige aanroep en de standaard parameterwaarden voor show_menu2 zijn als volgt:

show_menu2( $aMenu = 0, $aStart = SM2_ROOT, $aMaxLevel = SM2_CURR+1, $aOptions = SM2_TRIM, $aItemOpen = '</a>', $aItemClose = '</li>', $aMenuOpen = '', $aMenuClose = '</ul>', $aTopItemOpen = false, $aTopMenuOpen = false);

het gedeelte “Parameters” bevat een gedetailleerde beschrijving van elke afzonderlijke parameter.
elke parameter moet absoluut correct worden gebruikt. De volgende regels kunnen helpen:

$aMenu = 0 is de beste waarde in de meeste gevallen.
$aStart moet een pagina-ID zijn of een waarde die begint met”SM2_”.
$aMaxLevel kan alleen waarden krijgen die beginnen met”SM2_”.
$aoptions behalve een paar speciale gevallen zijn alleen waarden die beginnen met” SM2_ ” toegestaan.
alle andere parameters bevatten de (HTML)tags die de uitvoer van het menu bepalen.
vanaf $aItemOpen kan elke parameter de waarde false worden doorgegeven om de respectievelijke standaardwaarde te krijgen.

dit kan bijvoorbeeld worden gebruikt om een genummerde lijst aan te maken, terwijl de standaardwaarden nog steeds worden gebruikt voor de afzonderlijke menu-items:

show_menu2(0, SM2_ROOT, SM2_ALL, SM2_ALL, false, false, '<ol>', '</ol>');

let op: tot en met $aOptions moeten alle parameters expliciet worden doorgegeven!

HTML-uitvoer

de HTML-uitvoer hangt grotendeels af van welke parameters aan de functie worden doorgegeven. Ongeacht dit, worden de volgende klassen altijd gebruikt voor elk menu, waarbij individuele menu-items kunnen ook meerdere klassen indien nodig.

klasse toewijzing
menu-top alleen het eerste menu-item.
menu-ouder elk hoofdmenu-item.
menu-current alleen het menu-item van de huidige pagina.
menu-broer of zus alle “broer of zus” van de huidige pagina.
menu-dochter elk submenu van de huidige pagina.
menu-expand elk menu met submenu ‘ s.
menu-first het eerste item van een menu of submenu.
menu-laatste het laatste item van een menu of submenu.
de volgende klassen worden alleen Toegevoegd als de sm2_numclass vlag is ingesteld:
menu-N elk menu-item, waarbij de N staat voor de absolute menudiepte, beginnend met 0, van het betreffende menu-item.
dus het hoogste niveau is altijd menu-0, het volgende niveau is menu-1, enzovoort.
menu-child – N elk submenu van de huidige pagina ‘ s, waarbij de N staat voor de relatieve diepte van het submenu, beginnend met 0.

voorbeeld van HTML-uitvoer:

<ul class="menu-top menu-0"> <li class="menu-0 menu-first"> ... </li> <li class="menu-0 menu-expand menu-parent"> ... <ul class="menu-1"> <li class="menu-1 menu-expand menu-first"> ... <ul class="menu-2"> <li class="menu-2 menu-first"> ... <li class="menu-2 menu-last"> ... </ul> </li> <li class="menu-1 menu-expand menu-parent"> ... <ul class="menu-2"> <li class="menu-2 menu-expand menu-current menu-first"> ... ** CURRENT PAGE ** <ul class="menu-3"> <li class="menu-3 menu-child menu-child-0 menu-first"> ... <ul class="menu-4"> <li class="menu-4 menu-child menu-child-1 menu-first"> ... </li> <li class="menu-4 menu-child menu-child-1 menu-last"> ... </li> </ul> </li> <li class="menu-3 menu-child menu-child-0 menu-last"> ... </li> </ul> </li> <li class="menu-2 menu-sibling menu-last"> ... </li> </ul> </li> <li class="menu-1"> ... </li> <li class="menu-1 menu-expand menu-last"> ... <ul class="menu-2"> <li class="menu-2 menu-first menu-last"> ... </li> </ul> </li> </ul> </li> <li class="menu-0 menu-last"> ... </li> </ul> 

PARAMETERup

$aMenu

Menunummer. Dit is handig om meerdere menu ‘ s op één pagina te gebruiken. Menu nummer 0 is het standaard menu van de huidige pagina, SM2_ALLMENU geeft alle menu ‘ s terug die in het systeem worden gebruikt.

$ aStart

geeft aan vanaf welk niveau het aanmaken van het menu moet beginnen. In de meeste gevallen zal dit het hoogste niveau van het menu worden weergegeven. Een van de volgende waarden worden gebruikt:

SM2_ROOT+N

Start N-niveaus onder het hoogste niveau, bijvoorbeeld:

SM2_ROOT Begint op het hoogste niveau
SM2_ROOT+1 Begint een laag onder de bovenste laag
SM2_ROOT+2 Begint twee niveaus onder het hoogste niveau

SM2_CURR+N

Start N-niveaus onder het huidige niveau, bijvoorbeeld:

SM2_CURR Begint op de huidige laag. Alle broers en zussen van het huidige niveau
SM2_CURR+1 begint een laag onder de huidige laag met alle subniveaus.

page_id

gebruikt de pagina met de opgegeven pagina-id als het bovenliggende element.
alle submenu ‘ s van deze pagina worden weergegeven. (De pagina-id kan worden bepaald door het bewerken van de pagina in de admin backend, het zal worden weergegeven in de adresbalk van de browser: http://SITE/admin/pages/modify.php?page_id=35

$aMaxLevel

het maximum aantal niveaus dat kan worden weergegeven. Het display
start vanaf het niveau dat is opgegeven in $ aStart, tot het niveau dat hier is opgegeven.
SM2_ALL

geen beperking, alle niveaus worden weergegeven.

SM2_CURR + N

toont altijd de huidige pagina + n niveaus.

SM2_CURR huidige laag (geen sublaag)
SM2_CURR+3 Alle ouder + huidige + 3 subniveaus

SM2_START+N

begint altijd op het startniveau + n niveaus.
de niveaus worden weergegeven ongeacht op welk niveau de huidige pagina zich bevindt.

SM2_START een enkel niveau vanaf het startniveau.
SM2_START+1 startniveau + één niveau lager.

SM2_MAX+N

geeft maximaal N-niveaus weer vanaf het startniveau.
lagen onder het huidige niveau worden niet weergegeven.

SM2_MAX alleen het startvlak (hetzelfde effect als SM2_START)
SM2_MAX+1 het startniveau en één niveau eronder.

$Aopties

speciale vlaggen voor verschillende menu-opties. Ze kunnen met elkaar worden gecombineerd met behulp van een of link (|).
bijvoorbeeld, om zowel TRIM als PRETTY te definiëren, gebruik je: (SM2_TRIM / SM2_PRETTY).

groep 1
——-
van deze groep moet altijd één vlag worden opgegeven. Deze vlaggen bepalen hoe de sibling elementen in de menuboom worden onderdrukt in de uitvoer.

SM2_ALL

toont alle takken van de menuboom

 A-1 -> B-1 -> B-2 -> C-1 -> C-2 (CURRENT) -> D-1 -> D-2 -> C-3 A-2 -> B-3 -> B-4

SM2_TRIM

toont alle verwante menu ‘ s van de pagina in het huidige pad.
alle submenu ‘ s van items die niet in het pad staan.
worden verwijderd.

 A-1 -> B-1 -> B-2 -> C-1 -> C-2 (CURRENT) -> D-1 -> D-2 -> C-3 A-2 

SM2_CRUMB

geeft het kruimelpad van het menu weer, d.w.z. het huidige
Menu-item en alle menu-items die ernaar leiden.

A-1 -> B-2 -> C-2 (CURRENT)

SM2_SIBLING

zoals SM2_TRIM,maar alleen zustermenu ‘ s van de huidige pagina worden weergegeven. Alle andere items worden onderdrukt.

 A-1 -> B-2 -> C-1 -> C-2 (CURRENT) -> D-1 -> D-2 -> C-3 

groep 2
——-
deze vlaggen zijn optioneel, ze kunnen worden gecombineerd in elk nummer.

SM2_NUMCLASS

voegt de genummerde menuklassen “menu-N” en “menu-child-N”toe.

SM2_ALLINFO

laadt alle velden uit de paginatabel van de database.
dit veroorzaakt een vrij hoog geheugenverbruik en dient
te zijn, moet daarom met voorzichtigheid worden gebruikt.
dit betekent bijvoorbeeld dat de trefwoorden, de paginabeschrijving en
alle andere beschikbare informatie die normaal niet
is, kunnen worden geladen.
let op: deze vlag moet worden ingesteld bij de eerste aanroep van schow_menu2
kan worden gebruikt voor de respectievelijke menu-ID, of in combinatie met de
met SM2_NOCACHE, anders heeft het geen effect.

SM2_NOCACHE

de gegevens die uit de database worden gelezen, worden niet opnieuw gebruikt wanneer show_menu2 opnieuw wordt aangeroepen, maar worden opnieuw gelezen vanuit de database.

SM2_PRETTY

brengt de HTML-uitvoer van het menu met spaties en
regeleinden in een leesbare vorm. Dit is vooral handig bij het debuggen van de menu-uitvoer.

SM2_BUFFER

voert de HTML-code niet direct uit, maar slaat deze intern op en voert deze uit als een complete string.

SM2_CURRTREE

sluit alle andere menu ‘ s van het hoogste niveau uit.
alleen menu-items van de huidige menutak worden weergegeven.
indien nodig kan deze vlag worden gecombineerd met elke vlag van groep 1.

SM2_ESCAPE

Past htmlspecialchars toe op de menustring.
dit kan nodig zijn voor oudere WebsiteBaker-installaties.
om een geldige HTML-uitvoer te genereren.

SM2_SHOWHIDDEN

verborgen pagina ‘ s worden meestal altijd verborgen, ook wanneer ze actief zijn (bijvoorbeeld de huidige pagina of een bovenliggende pagina).
gebruik privépagina ’s voor de tijd dat u pagina’ s wilt verbergen, behalve wanneer deze actief zijn. Maar voor compatibiliteit met release 4.8, geef deze vlag om verborgen pagina ‘ s zichtbaar te maken wanneer ze actief zijn.

SM2_XHTML_STRICT

zorgt voor de XHTML-Compatibiliteit van de links door het verwijderen van de doelspecificatie in links die zijn geformatteerd met or en het invoegen van het argument title=””. Voor handmatig gecompileerde links is de ontwerper verantwoordelijk voor de XHTML-conformiteit.

SM2_NO_TITLE

onderdrukt de uitvoer van de inhoud van het attribuut titel voor of geformatteerde koppelingen.
voor deze parameter is er ook een uitgebreide modus waar de opties worden doorgegeven als een associatieve array. Zie het gedeelte Geavanceerde opties voor meer informatie. Voor de meeste toepassingen is dit echter niet vereist.

$aItemOpen

dit definieert de opmaakstring waarmee elk afzonderlijk menu-item wordt gestart. Een andere format string kan worden gedefinieerd voor het allereerste menu item met behulp van $aTopItemOpen.
als deze parameter is ingesteld op false, de standaard format string
‘</a>’ om compatibiliteit met de WebsiteBaker standaard functie show_menu () te garanderen.
omdat opmaak met behulp van CSS-klassen vaak gemakkelijker is wanneer toegepast op de tag <a>, wordt aanbevolen de volgende format string te gebruiken: ‘<li></a>’.
deze parameter kan ook worden gebruikt als een instantie van een opmaakklasse voor het menu. Een meer gedetailleerde beschrijving is te vinden in de FORMATTER sectie. Als hier een formatter wordt opgegeven, worden alle argumenten na $aItemOpen genegeerd.

$aItemClose

deze tekenreeks completeert elk menu-item. Let op: dit is geen format string en geen zoekwoorden zullen worden vervangen!
als deze parameter is ingesteld op false, wordt de standaard ‘< / li> ‘ gebruikt.

$aMenuOpen

deze format string opent een lijst met menu-items. Een andere format string kan gedefinieerd worden voor het eerste menu met $aTopMenuOpen.
als deze parameter is ingesteld op false, wordt de standaardwaarde ” gebruikt.

$aMenuClose

deze tekenreeks maakt elk menu compleet. Let op: dit is geen format string en geen zoekwoorden zullen worden vervangen!
als deze parameter is ingesteld op false, wordt de standaard ‘< / ul> ‘ gebruikt.

$aTopItemOpen

de format string voor het allereerste menu-item. Als deze parameter is ingesteld op false, wordt dezelfde format string gebruikt als voor $aItemOpen.

$aTopMenuOpen

de format string voor het eerste menu. Als deze parameter is ingesteld op false, wordt dezelfde format string als $aMenuOpen gebruikt.

ADVANCED OPTIONSup

de parameter $aoptions kan op twee manieren worden gebruikt. Ten eerste, zoals hierboven beschreven in de sectie PARAMETERS, moet dit type voldoende zijn voor de overgrote meerderheid van de use cases. Om de speciale opties in speciale gevallen te kunnen aanpakken, moeten de vereiste waarden echter als een associatieve array worden opgegeven.
let op: de sm2_ * vlaggen zijn hier ook verplicht en moeten worden doorgegeven als ‘vlaggen’.

‘flags’

* * CONCELARY REQUIRED * * dit zijn de vlaggen die hierboven zijn beschreven in de sectie PARAMETERS onder $aOptions.

‘notrim’

dit definieert een aantal niveaus die altijd relatief worden weergegeven ten opzichte van het menuniveau gedefinieerd in $aStart. Dit zorgt ervoor dat de sm2_trim vlag genegeerd wordt voor deze niveaus.

om deze array te gebruiken wordt aanbevolen om deze eerst aan te maken en dan de $aOptions parameter te leveren met de aangemaakte array:

$options = array('flags' => (SM2_TRIM|...), 'notrim' => 1); show_menu2(0, SM2_ROOT, SM2_CURR+1, $options);

FORMAT STRINGSup

de volgende tags kunnen worden gebruikt in de format strings voor $aItemOpen en $aMenuOpen en moeten worden vervangen door de bijbehorende tekst.

<een> – tag zonder klasse:

'<a href="" target="">'
<een> tag met klasse:

'<a href="" target="" class="">'
<li> tag met klasse:

'<li class="">'
<ul> tag met klasse:

'<ul class="">'
Lijst van klassen voor deze pagina
Tekst van de titel van het menu
(HTML-entiteit ontsnapt, tenzij de SM2_NOESCAPE vlag is ingesteld)
De URL naar een image-bestand met normale weergave
De URL naar een image-bestand met actieve/zweven display
de titel van de Pagina tekst
(HTML-entiteit ontsnapt, tenzij de SM2_NOESCAPE vlag is ingesteld)
De URL naar een pagina met gerelateerde image bestand
de URL van de pagina ‘ s voor het <a> label
het paginadoel voor het<a > – label
de pagina-ID van het huidige menu-item.
de pagina-ID van het bovenliggende menu-item.
u paginaniveau, dit is hetzelfde nummer gebruikt in de “menu-N” CSS tag.
aantal broers en zussen van het huidige menu-item.
aantal broers en zussen in dit menu.
voorwaarde (Zie sectie “Conditionele opmaak” voor details)

de volgende tags zijn alleen beschikbaar als de sm2_allinfo vlag is ingesteld.

pagina-omschrijving
trefwoorden van de pagina

Voorwaardelijke opmaak up

het statement voorwaardelijke opmaak kan een van de volgende vormen aannemen:


A

de voorwaarde. Zie hieronder voor meer informatie.

B

de uitdrukking die wordt gebruikt wanneer aan de voorwaarde is voldaan.
dit kan elke tekenreeks zijn die niet het teken’} ‘ bevat.
kan bevatten. Het kan elke format string bevatten uit de sectie
Format Strings’, maar geen verdere conditietest (omdat het teken’} ‘ niet is toegestaan).

C

de uitdrukking die wordt gebruikt wanneer niet aan de voorwaarde is voldaan.
dit kan elke tekenreeks zijn die niet het teken’} ‘ bevat.
kan bevatten. Het kan elke format string bevatten uit de sectie
Format Strings’, maar geen verdere conditietest (omdat het teken’} ‘ niet is toegestaan).

de voorwaarde is een combinatie van een of meer Booleaanse vergelijkingen.
indien meer dan één vergelijking vereist is, moet deze worden gecombineerd met de andere vergelijkingen
kan worden gekoppeld met behulp van || (boolean of – OF) of && (boolean en – en).

een enkele vergelijking bestaat uit de linker operand, de operator en de rechter operand.
bijvoorbeeld X = = Y-waarbij X de linker operand is, == de operator en Y de rechter operand.

linker operand. Moet een van de volgende zoekwoorden zijn:
klasse Controleer of deze klasse bestaat. Alleen de “= = “en”!= “operators zijn toegestaan. In dit geval hebben de operators de Betekenis “bevat” of “Bevat niet” in plaats van “is gelijk” of “is niet gelijk”.
niveau controle van het paginaniveau.
sib controleer het aantal broers en zussen op de huidige pagina.
sibCount controleer het totale aantal broers en zussen in het huidige menu.
id controleer de pagina-id.
doel verificatie van de doelspecificatie.
Centrale. Moet een van de volgende zijn::
< minder dan
<= kleiner dan of gelijk aan
== gelijk
!= niet gelijk
>= groter dan of gelijk aan
> groter dan
rechter operand. Het type van deze operand hangt af van het sleutelwoord dat gebruikt wordt voor de linker operand.
klasse een van de klassenamen ” menu – * “zoals gespecificeerd in de sectie” Output”.
niveau controleer het paginaniveau met de volgende waarden:

  • <nummer> het absolute paginaniveau
  • root is het hoogste paginaniveau
  • granny een paginaniveau boven het paginaniveau
  • ouder het paginaniveau
  • huidig het huidige paginaniveau
  • kind het ondergeschikte paginaniveau
id controleer de pagina-id met de volgende waarden:

  • < Aantal> de absolute pagina-id
  • ouder de pagina-id
  • huidig de huidige pagina-id
sib een positief geheel getal, of “sibCount” om het aantal broers en zussen in dit menu te controleren.
sibCount een positief geheel getal
target een tekenreeks die een mogelijke doelspecificatie vertegenwoordigt.
de volgende voorbeelden resulteren in “true” en de expressie {exp} wordt uitgevoerd als true:
een submenu Heeft
Als de eerste entry in een menu
Is NIET het eerste item in een menu
Als het laatste item in een menu
Gelegen op het hoogste niveau
Is het NIET op het hoogste niveau
Als het tweede item in een menu
Als in een menu met meer dan één item
in een menu dat heeft niet precies 2 items
bevindt zich in een verwant menu of in het submenu van een verwant menu
het bovenliggende punt van het huidige id Is
de string ‘_self’ zit in het doelattribuut.

als er een else-clausule wordt toegevoegd, zal deze in alle andere gevallen worden uitgevoerd.
bijvoorbeeld, “foo” wordt altijd uitgevoerd als de if-check verkeerd is, dus:

Is het NIET het tweede item in het menu
is het NIET in een menu met meer dan twee ingangen
In meerdere vergelijkingen, is de uitdrukking “exp” wordt alleen uitgevoerd als:
de eerste vermelding OF is het de vierde of hogere vermelding in het menu
Als het huidige item EN submenu ‘ s

let op:
Alle controles zullen worden uitgevoerd in de volgorde waarin ze worden vermeld, omdat:

  • er is geen controle op mogelijke lussen (alle controles worden altijd uitgevoerd).
  • controles zijn niet gegroepeerd (haakjes van controles worden niet ondersteund)
  • beide dingen hebben dezelfde waarde.

FORMATTERup

let op: dit is een geavanceerde en zelden gebruikte functie!

met uitgebreide kennis van PHP programmeren is het mogelijk om de voorgedefinieerde
opmaak van show_menu2 te gebruiken met je eigen.
In de include.php van show_menu2 je kunt zien hoe je de formatter schrijft.
de API die gebruikt moet worden ziet er als volgt uit:

class SM2_Formatter{ // called once before any menu is processed to allow object initialization function initialize() { } // called to open the menu list function startList($aPage, $aUrl) { } // called to open the menu item function startItem($aPage, $aUrl, $aCurrSib, $aSibCount) { } // called to close the menu item function finishItem() { } // called to close the menu list function finishList() { } // called once after all menu has been processed to allow object finalization function finalize() { } // called once after finalize() if the SM2_NOOUTPUT flag is used function getOutput() { }};

WebsiteBakeris vrijgegeven onder de GNU General Public License

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.