Multiple menues

show_menu2, version 4.9 x

Show_Menu2 on koodinpätkä CMS WebsiteBaker-sivustolle. Koska WebsiteBaker 2.7 se on mukana CMS.
entinen show_menu-funktio korvataan kokonaan ja laajennetaan ohjelmalla show_menu2. Kaikki valikon luomiseen tarvittavat tiedot luodaan yhdellä tietokantakyselyllä. Laaja säätömahdollisuuksia syntyy HTML-koodi kaikki mahdolliset valikkotyypit (luettelot, leivänmurut, sitemaps, jne.) voidaan luoda.

  • installaatio
  • käyttäen Show_Menu2
  • FAQ
  • funktio
  • HTML-Lähtö
  • parametri
  • Lisäasetukset
  • Formaattijouset
  • Formaattijonot
  • ehdollinen muotoilu

  • Formatteri

installationup

koska show_menu2 on yleensä websitebakerissa, asennusta ei tarvita. Jos sitä ei odotusten vastaisesti ole olemassa, voit ladata sen täältä.

käytettäessä SHOW_MENU2up

käyttääksesi show_menu2: ta sinun on muokattava mallia, johon haluat valikon ilmestyvän. Huomaa: jos vanhat valikkopuhelut korvataan, on käytettävä myös vastaavia uusia parametreja, jotka show_menu2 tarvitsee.

useimmissa tapauksissa riittää vakiokutsu, jossa on vähintään 4 parametria show_menu2. Tässä tapauksessa käytetään oletusarvoja, tämä luo valikon, joka näyttää nykyisen sivun ja alasivut nykyisen sivun:

show_menu2(0, SM2_ROOT, SM2_START, SM2_TRIM);

huomaa: puhelu show_menu2 on PHP ja on yleensä liitettävä PHP koodin merkkejä (ellei puhelu on jo sisällä PHP koodi):

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

tämä oletusvalikko luo jo kokonaisen listapohjaisen valikon, jossa on useita luokkia, jotka mahdollistavat helpon muotoilun css: n avulla. Esimerkiksi luokka ”menu-current” lisätään nykyisen valikon kohteen <li> tagiin. Lisäksi jokainen alitemppujen valikon kohta sisältää luokan ”menu-expand”. Tämä mahdollistaa luoda hyvin eriytetty CSS sääntöjä kunkin valikon kohde.
esimerkiksi:

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

osa ”HTML-lähtö” sisältää yksityiskohtaisen kuvauksen siitä, mitkä luokat on määritetty mihinkin elementtiin. Käyttämällä erilaisia parametreja show_menu2-funktiokutsussa on myös mahdollista luoda varsin laajoja ja erilaisia valikkorakenteita. Jos haluat esimerkiksi näyttää vain valikkokohteet valikkorakenteen ylimmältä tasolta, voit käyttää seuraavaa kutsua:

show_menu2(0, SM2_ROOT, SM2_START, SM2_TRIM);

tai esimerkiksi näyttää enintään kaksi nykyisen sivun alatasoa:

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

on paljon mahdollisuuksia luoda erilaisia valikkorakenteita. Lukuisia esimerkkejä löytyy Demon verkkosivuilta: KLICK

FAQup

Q: I ’ m not a programmer. Eikö ole olemassa yksinkertaisempaa dokumentaatiota?
A: Ei, koska tämä on jo yksinkertainen dokumentaatio.

Q: Miten voin luoda pudotusvalikon?
A: tällä ei ole mitään tekemistä show_menu2: n kanssa. Luodaksesi pudotusvalikon sinun tarvitsee vain säätää vastaavan mallin CSS-koodia. Tarvittavat muutokset löytyvät esim.” allcss2 ” – mallista WebsiteBaker Addon Repository -> https://addon.websitebaker.org/

K: Miksi valikko katoaa, kun olen käyttänyt hakutoimintoa monikielisellä WebsiteBaker-sivulla?
A: käytetystä mallista puuttuvat tarvittavat rivit:

1. WB Admin-taustajärjestelmässä: Asetukset – > Näytä Lisäasetukset – > hakuvaihtoehdot – > Header-lisää seuraava rivi heti avaamisen jälkeen < lomake> tagi:

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

2. lisää seuraava rivi indeksiin.käytetyn mallin php heti avaamisen jälkeen < lomake> haun tagi:

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

K: monikielinen? Kuulostaa hyvältä. Miten teet sen?
A: https://help.websitebaker.org/en/designerguide/multilingual-websites.php

K: joka kerta kun sivua kutsutaan, SM2 luo seuraavan varoitusviestin:
”show_menu2 error: $aOptions is invalid. Ryhmän 1 lippuja ei toimiteta!”
A: Funktiolle siirrettiin vääriä arvoja tai väärä määrä arvoja.
katso parametrit-kohdasta oikeat lippuarvot, jotka siirtyvät $aOptions-parametrille.

kysymys: Miten käytän eri luokkaa/kuvaa/väriä/widget jokaisen merkinnän valikosta?
A: käytä formaattia $aItemOpen-merkkijonossa. Luo ainutlaatuinen luokka tai id kunkin valikon kohde, sitten viittaus, että kohde CSS tai Javascript tehdä mitä haluat.
jokaiselle valikkokohteelle lisätään yksilöllinen luokka (tai vastaava):

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

… luodaan valikon kohteita kuten …

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

viittaa tähän CSS: ssä kuten:

a.p45 { color: red; }

voit lisätä yksilöllisen tunnisteen jokaiselle valikkokohteelle (tai vastaavalle):

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

… luodaan valikon kohteita kuten …

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

viittaa tähän CSS: ssä kuten:

a#p45 { color: red; }

huomaa, että ID voidaan käyttää vain, jos kyseinen valikko luodaan ja näytetään vain kerran sivulla (koska HTML ID: n on oltava ainutlaatuinen sivun sisällä).

FUNCTIONup

täydellinen kutsu ja oletusparametrien arvot show_menu2: lle ovat seuraavat:

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);

kohdassa ”parametrit” on yksityiskohtainen kuvaus kustakin yksittäisestä parametrista.
kutakin parametria on käytettävä täysin oikein. Seuraavat säännöt voivat auttaa:

$aMenu = 0 on useimmissa tapauksissa paras arvo.
$aStart on oltava joko sivutunnus tai ”SM2_” – alkuinen arvo.
$aMaxLevel voi saada vain ”SM2_” – alkuisia arvoja.
$aOptions muutamaa erikoistapausta lukuun ottamatta vain ”SM2_” – alkuiset arvot ovat sallittuja.
kaikki muut parametrit sisältävät (HTML) tagit, jotka ohjaavat valikon ulostuloa.
alkaen $aItemOpen jokainen parametri voidaan siirtää arvo false saada vastaavan oletusarvon.

tätä voidaan käyttää esimerkiksi numeroidun listan luomiseen, kun oletusarvoja käytetään vielä yksittäisissä valikkokohtissa:

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

huomaa: jopa ja myös $aOptions kaikki parametrit on läpäistävä nimenomaisesti!

HTML-Lähtö

HTML-lähtö riippuu pitkälti siitä, mitkä parametrit funktiolle siirretään. Tästä riippumatta jokaiselle valikolle käytetään aina seuraavia luokkia, jolloin yksittäisillä valikon kohteilla voi tarvittaessa olla myös useita luokkia.

Luokka tehtävä
menu-top vain ensimmäinen valikon kohta.
menu-vanhempi mikä tahansa päävalikon kohde.
menu-nykyinen vain nykyisen sivun valikon kohta.
menu-sisarukset kaikki nykyisen sivun ”sisarukset”.
valikko-lapsi mikä tahansa nykyisen sivun alivalikko.
valikko-laajenna mikä tahansa valikko, jossa on alivalikko.
menu-ensimmäinen minkä tahansa valikon tai alivalikon ensimmäinen kohde.
valikko-viimeinen minkä tahansa valikon tai alivalikon viimeinen kohde.
seuraavat luokat lisätään vain, jos on asetettu sm2_numclass-lippu:
valikko-n jokainen valikon kohta, jossa N tarkoittaa kyseisen valikon absoluuttista syvyyttä alkaen numerosta 0.
joten ylin taso on aina menu-0, seuraava taso on menu-1 ja niin edelleen.
menu-child-n jokainen nykyisten sivujen alivalikko, jossa N tarkoittaa alivalikon suhteellista syvyyttä alkaen numerosta 0.

esimerkki HTML-tulosteesta:

<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

Valikkonumero. Tämä on hyödyllistä käyttää useita valikoita yhdellä sivulla. Valikko numero 0 on oletusvalikko nykyisen sivun, SM2_ALLMENU palauttaa kaikki valikot käytetään järjestelmässä.

$aStart

määrittää tason, jolta valikon luominen aloitetaan. Useimmissa tapauksissa tämä on näytettävän valikon ylätaso. Jompaakumpaa seuraavista arvoista voidaan käyttää:

SM2_ROOT+n

alkaa n tasoa ylimmän tason alapuolella, esim.:

SM2_ROOT alkaa ylimmältä tasolta
SM2_ROOT+1 alkaa kerros ylimmän tason alapuolella
SM2_ROOT+2 alkaa kaksi tasoa ylimmän tason alapuolella

SM2_CURR+n

alkaa n tasot alle nykyisen tason, esim.:

SM2_CURR alkaa nykyiseltä tasolta. Kaikki nykyisen tason
SM2_CURR+1 sisarukset aloittavat nykyisen tason alapuolella olevan kerroksen kaikilla alitasoilla.

page_id

käyttää pääelementtinä sivua, jossa on määritetty sivutunnus.
Kaikki tämän sivun alivalikot näkyvät. (Sivun tunnus voidaan määrittää muokkaamalla sivua admin-taustajärjestelmässä, se näkyy selaimen osoiterivillä: http://SITE/admin/pages/modify.php?page_id=35

$aMaxLevel

näytettävien tasojen enimmäismäärä. Näyttö
alkaa $astartin määrittämältä tasolta tässä määritettyyn tasoon asti.
SM2_ALL

Ei rajoituksia, kaikki tasot näkyvät.

SM2_CURR + n

näyttää aina nykyisen sivun + N tasot.

SM2_CURR Current layer (ei alikerrosta)
SM2_CURR+3 Kaikki kantavirta + 3 alitasot

SM2_START + n

alkaa aina lähtötasolta+N tasolta.
tasot näkyvät riippumatta siitä, millä tasolla nykyinen sivu on.

SM2_START yksi taso aloitustasosta.
SM2_START+1 aloitustaso + yksi taso alle.

SM2_MAX + n

näyttää enimmillään n-tason lähtötasolta.
nykyisen tason alapuolella olevia kerroksia ei näytetä.

SM2_MAX vain lähtötaso (sama vaikutus kuin SM2_START)
SM2_MAX+1 lähtötaso ja yksi taso sen alapuolella.

$aOptions

Special flags for different menu generation options. Ne voidaan yhdistää toisiinsa käyttämällä OR-linkkiä ( / ).
esimerkiksi määrittelemään sekä trimmi että PRETTY, käytä : (SM2_TRIM / SM2_PRETTY).

ryhmä 1
——-
tästä ryhmästä on aina ilmoitettava yksi lippu. Nämä liput määrittävät, miten valikkopuun sisaruselementit tukahdutetaan tuotoksessa.

SM2_ALL

näyttää kaikki valikkopuun oksat

 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

näyttää kaikki sivun sisarusvalikot nykyisellä polulla.
kaikki alivalinnat kohteista, jotka eivät ole polulla.
poistetaan.

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

SM2_CRUMB

näyttää ruokalistan leipäpolun eli nykyisen
menun kohteen ja kaikki siihen johtavat valikkokohteet.

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

SM2_SIBLING

kuten SM2_TRIM, mutta vain nykyisen sivun sisarusvalikot näkyvät. Kaikki muut kohteet on tukahdutettu.

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

ryhmä 2
——-
nämä liput ovat valinnaisia, ne voidaan yhdistää millä tahansa numerolla.

SM2_NUMLUOKKA

lisää numeroidut valikkoluokat ”menu-N” ja ”menu-child-N”.

SM2_ALLINFO

lataa kaikki kentät tietokannan sivutaulukosta.
tämä aiheuttaa melko suuren muistinkulutuksen, ja sen tulisi olla
, joten sitä tulee käyttää varoen.
tämä tarkoittaa esimerkiksi sitä, että hakusanat, sivukuvaus ja
kaikki muut käytettävissä olevat tiedot, joita ei normaalisti ole
, voidaan ladata.
huomaa: tämä lippu on asetettava schow_menu2: n ensimmäisellä kutsulla
voidaan käyttää kyseistä valikkotunnusta tai yhdessä
: n kanssa sm2_nocachen kanssa, muuten sillä ei ole vaikutusta.

SM2_NOCACHE

tietokannasta luettua dataa ei käytetä uudelleen, kun show_menu2 kutsutaan uudelleen, vaan se luetaan uudelleen tietokannasta.

SM2_PRETTY

tuo valikon HTML-lähdön aihioineen ja
rivi murtuu luettavaan muotoon. Tämä on erityisen hyödyllistä, kun vianetsintä valikkotulostetta.

SM2_BUFFER

ei tulosta HTML-koodia suoraan, vaan tallentaa sen sisäisesti ja tulostaa sen kokonaisena merkkijonona.

SM2_CURRTREE

sulkee kaikki muut ylätason valikot pois katselusta.
vain nykyisen valikkohaaran valikkokohteet näkyvät.
tarvittaessa tämä lippu voidaan yhdistää mihin tahansa ryhmään 1 kuuluvaan lippuun.

SM2_ESCAPE

soveltaa htmlspecialchareja valikkomerkkijonoon.
tätä voidaan vaatia vanhemmissa WebsiteBaker-asennuksissa.
luoda kelvollinen HTML-lähtö.

SM2_SHOWHIDDEN

Piilosivut ovat yleensä piilossa koko ajan, myös silloin, kun ne ovat aktiivisia (eli nykyinen sivu tai vanhempi sivu).
käytä yksityisiä sivuja aikaa, kun haluat sivujen olevan piilossa, paitsi silloin, kun olet aktiivinen. Jos haluat kuitenkin yhteensopivuuden release 4.8: n kanssa, anna tämä lippu, jotta piilotetut sivut tulevat näkyviin, kun ne ovat aktiivisia.

SM2_XHTML_STRICT

varmistaa linkkien XHTML-yhteensopivuuden poistamalla linkkien kohdemäärittelyn formatoituna linkeillä tai ja lisäämällä argumentin otsikko=””. Käsin käännettyjen linkkien osalta suunnittelija on vastuussa XHTML-vaatimustenmukaisuudesta.

SM2_NO_TITLE

estää Otsikkomääritteen sisällön tuotoksen tai formatoidut linkit.
tälle parametrille on olemassa myös Laajennettu tila, jossa vaihtoehdot ohitetaan assosiatiivisena joukkona. Katso lisätietoja Lisäasetukset-osiosta. Useimmissa sovelluksissa tätä ei kuitenkaan vaadita.

$aItemOpen

tämä määrittelee muotomerkkijonon, jolla kukin yksittäinen valikkokohta aloitetaan. Eri muodossa merkkijono voidaan määritellä ensimmäisen valikon kohtana käyttäen $aTopItemOpen.
jos tämä parametri on epätosi, oletusformaattijono
”</a> ” varmistaa yhteensopivuuden Websitebakerin standardifunktion show_menu () kanssa.
koska muotoileminen CSS-luokilla on usein helpompaa, kun sitä sovelletaan <a> tagiin, on suositeltavaa käyttää seuraavaa muotomerkkijonoa: ”<li></a>”.
tätä parametria voidaan käyttää myös valikon muotoiluluokan ilmentymänä. Tarkempi kuvaus löytyy FORMATTER-osiosta. Jos formater on määritetty tässä, kaikki argumentit jälkeen $aItemOpen ohitetaan.

$aItemClose

tämä merkkijono täydentää jokaisen valikon kohteen. Huomaa: Tämä ei ole muotomerkkijono eikä avainsanoja korvata!
jos tämä parametri on epätosi, käytetään oletusarvoa ” < / li>”.

$aMenuOpen

tämä muotomerkkijono avaa listan valikoista. Ensimmäiseen valikkoon voidaan määritellä erilainen formaattijono käyttämällä $atopmenuopenia.
jos tämä parametri on epätosi, käytetään oletusarvoa”.

$aMenuClose

tämä merkkijono täydentää jokaisen valikon. Huomaa: Tämä ei ole muotomerkkijono eikä avainsanoja korvata!
jos tämä parametri on epätosi, käytetään oletusarvoa ” < / ul>”.

$aTopItemOpen

ensimmäisen valikkokohteen muotomerkkijono. Jos tämä parametri on false, käytetään samaa muotomerkkijonoa kuin $aitemopenissa.

$atopmenuopan

ensimmäisen valikon muotomerkkijono. Jos tämä parametri on false, käytetään samaa formaattia kuin $aMenuOpen.

ADVANCED OPTIONSup

$aoptions-parametria voidaan käyttää kahdella tavalla. Ensinnäkin, kuten edellä parametrit-osiossa on kuvattu, tämän tyypin pitäisi riittää valtaosaan käyttötapauksista. Kuitenkin, jotta voidaan käsitellä erityisiä vaihtoehtoja erityistapauksissa, vaaditut arvot on annettava assosiatiivinen array.
huomaa: tässä vaaditaan myös SM2_* – liput, jotka on läpäistävä ”lipuina”.

”liput”

* * CONCELARY REQUIRED* * nämä ovat yllä mainitut liput kohdassa parametrit $aOptions.

’notrim’

tämä määrittelee joukon tasoja, jotka näytetään aina suhteessa $aStart-järjestelmässä määriteltyyn valikkotasoon. Tämän vuoksi sm2_trim-lippu jätetään huomiotta näille tasoille.

tämän taulukon käyttämiseksi on suositeltavaa ensin luoda se ja sitten toimittaa $aOptions-parametri luodulla matriisilla:

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

FORMAT STRINGSup

seuraavia tageja voidaan käyttää $aitemopenin ja $amenuopenin formaattijonoissa, ja ne tulisi korvata vastaavalla tekstillä.

<a> tunniste ilman luokkaa:

'<a href="" target="">'
<a> Luokka:

'<a href="" target="" class="">'
<li> tagi luokalla:

'<li class="">'
<ul> Luokka:

'<ul class="">'
luettelo tämän sivun luokista
valikon otsikon teksti
(HTML-entiteetti karkasi, ellei SM2_NOESCAPE-lippua ole asetettu)
URL levykuvatiedostoon, jossa on normaali-representaatio
aktiivisen / hover-näytön sisältävän kuvatiedoston URL
sivun otsikkoteksti
(HTML-entiteetti karkasi, ellei SM2_NOESCAPE-lippua ole asetettu)
SIVUAIHEISEN kuvatiedoston URL
< a> tagin sivujen URL-osoite
< a> tagin sivukohteet
nykyisen valikkokohteen Sivutunnus.
päävalikkokohteen Sivutunnus.
sivu taso, tämä on sama numero käytetään ”menu-N” CSS tag.
nykyisen valikon kohtien sisarusten lukumäärä.
kaikkien sisarusten lukumäärä Tässä valikossa.
kunto (katso kohta ”Ehdollinen muotoilu” lisätietoja)

seuraavat tunnisteet ovat käytettävissä vain, jos sm2_allinfo-lippu on asetettu.

sivun kuvaus
sivun avainsanat

Ehdollinen muotoilu ylös

ehdollinen muotoilulauseke voi olla jokin seuraavista muodoista:


a

ehto. Katso alta tarkemmat tiedot.

B

edellytyksen täyttyessä käytetty ilmaisu.
tämä voi olla mikä tahansa merkkijono, joka ei sisällä merkkiä”}”.
saattaa sisältää. Se voi sisältää minkä tahansa muotomerkkijonon osiosta
Formaattimerkkijonot”, mutta ei muuta kuntotestiä (koska merkkiä”} ” ei sallita).

C

ilmaisu, jota käytetään, kun ehto ei täyty.
tämä voi olla mikä tahansa merkkijono, joka ei sisällä merkkiä”}”.
saattaa sisältää. Se voi sisältää minkä tahansa muotomerkkijonon osiosta
Formaattimerkkijonot”, mutta ei muuta kuntotestiä (koska merkkiä”} ” ei sallita).

ehto on yhden tai useamman boolelaisen vertailun yhdistelmä.
jos tarvitaan useampi kuin yksi vertailu, se on yhdistettävä muihin vertailuihin
voidaan linkittää käyttämällä / / (boolean or – OR) tai && (boolean and – AND).

yksi vertailu koostuu vasemmasta operandista, operaattorista ja oikeasta operandista.
esim. X = = Y-missä X on vasen operandi, = = operaattori ja Y oikea operandi.

lähti operandista. Täytyy olla jokin seuraavista avainsanoista:
Luokka tarkista, onko tämä luokka olemassa. Vain ”= = ”ja”!= ”operaattorit ovat sallittuja. Tällöin operaattoreilla on merkitys ”Sisältää” tai ”ei sisällä” sijasta ”on yhtä suuri”tai” ei ole yhtä suuri”.
taso sivutason tarkistaminen.
sib Tarkista sisarusten määrä nykyiseltä sivulta.
sibCount Tarkista sisarusten kokonaismäärä nykyisestä valikosta.
tunnus tarkista sivun tunnus.
target target-spesifikaation tarkistaminen.

keskus. Täytyy olla jokin seuraavista:
< alle
<= pienempi tai yhtä suuri kuin
== yhtä suuri
!= ei yhtä suuri
>= suurempi tai yhtä suuri kuin
> suurempi kuin
oikea operand. Tämän operandin tyyppi riippuu vasemmasta operandista käytetystä avainsanasta.
Luokka yksi ”menu – *” – luokan nimistä, jotka on määritelty” Output ” – osiossa.
taso Tarkista sivutaso seuraavia arvoja vastaan:

  • <numero> absoluuttinen sivutaso
  • root on sivun ylätaso
  • Mummo a sivutaso vanhemman tason yläpuolella
  • vanhempi vanhemman tason
  • nykyinen nykyinen sivutaso
  • lapsi alimman tason tason
id tarkista sivun tunnus seuraavia arvoja vastaan:

  • < numero> absoluuttinen sivutunnus
  • kantatunnus
  • nykyinen sivutunnus
sib positiivinen kokonaisluku eli” sibCount”, jolla voi tarkistaa sisarusten määrän tästä valikosta.
sibCount positiivinen kokonaisluku
kohde merkkijono, joka edustaa mahdollista kohdemääritystä.
seuraavien esimerkkien tuloksena on ”tosi” ja lauseke {exp} suoritetaan, jos tosi:
alivalikko
jos valikon ensimmäinen merkintä on
ei ole valikon ensimmäinen kohde
jos valikon viimeinen merkintä on
sijaitsee ylimmällä tasolla
ei ole huipputasolla
jos valikon toinen merkintä on
jos valikossa on useampi kuin yksi merkintä
on valikossa joka ei ole täsmälleen 2 kohdetta
on rinnakkaistallennusvalikossa tai rinnakkaistallennusvalikon alivalikossa
on nykyisen id: N pääpiste
merkkijono ”_self” sisältyy target-attribuuttiin.

jos lisätään jokin muu lauseke, se toteutetaan kaikissa muissa tapauksissa.
esimerkiksi ”foo” suoritetaan aina, kun if-tarkistus on väärä, joten:

ei ole valikon toinen kohta
ei ole valikossa, jossa on enemmän kuin kaksi merkintää
monivertailuissa lauseke ” exp ” suoritetaan vain, jos:
on valikon ensimmäinen merkintä tai neljäs tai korkeampi merkintä
jos Nykyinen merkintä on ja sillä on alivalikko

huomaa:
kaikki tarkastukset tehdään siinä järjestyksessä, jossa ne on merkitty, koska:

  • mahdollisia silmukoita ei tarkisteta (kaikki tarkistukset suoritetaan aina).
  • tarkastuksia ei ole ryhmitelty (sulkuja tarkastuksista ei tueta)
  • molemmilla näillä asioilla on sama arvo.

FORMATTERup

Huomio: Tämä on kehittynyt ja harvoin käytetty ominaisuus!

laajan PHP-ohjelmoinnin tuntemuksen avulla on mahdollista käyttää ennalta määriteltyä
formatointia show_menu2: ssa omillaan.
in the include.PHP show_menu2 näet, miten kirjoittaa formatter.
käytettävä API näyttää tältä:

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() { }};

Websitebaker on julkaistu GNU General Public License-lisenssillä

Vastaa

Sähköpostiosoitettasi ei julkaista.