

Dieses Beispiel erstellt ein Menü bei dem die einzelnen Punkte fortlaufend nummeriert ausgegeben werden.
Das kann bei Seiten die eine strukturierte Übersicht benötigen nützlich sein.
lib.menu=HMENU lib.menu.1=TMENU # hier expAll evtl auf 1 setzen wenn das Menü immer alle Unterpunkte anzeigen soll lib.menu.1.expAll=0 lib.menu.1.wrap=<ul>|</ul> lib.menu.1.NO{ # füllen der verwendetetn Register before.cObject=LOAD_REGISTER before.cObject{ # Führende 0 für falls noch weniger als 10 Menüpunkte ausgegeben wurden leadingZero.cObject=TEXT leadingZero.cObject{ value=0 if.value=9 if.isLessThan.cObject=TEXT if.isLessThan.cObject{ value={register:mainMenuNumber} insertData=1 } } # Counter der die Hauptmenüpunkte zählt mainMenuNumber.cObject=TEXT mainMenuNumber.cObject{ value={register:mainMenuNumber}+1 insertData=1 } mainMenuNumber.prioriCalc=intval # initialisieren des Counters für die 2. Ebene subMenuNumber<lib.menu.1.NO.before.cObject.mainMenuNumber subMenuNumber.cObject.value=0 # initialisieren des Counters für die 3. Ebene subSubMenuNumber<lib.menu.1.NO.before.cObject.mainMenuNumber subSubMenuNumber.cObject.value=0 } # Die Nummerierung soll innerhalb des Link tags erscheinen ATagBeforeWrap=1 linkWrap={register:leadingZero}{register:mainMenuNumber} | # insertData auf den allStdWrap setzen, da linkWrap keine stdWrap unterstützung hat. allStdWrap.insertData=1 wrapItemAndSub=<li>|</li> } lib.menu.2<lib.menu.1 lib.menu.2.NO{ before.cObject{ # Counter für die 1. Ebene hier nicht mehr inkrementieren mainMenuNumber.cObject.value={register:mainMenuNumber} # Führende 0 für die 2. Ebene leadingZero2<lib.menu.2.NO.before.cObject.leadingZero leadingZero2.cObject.if.isLessThan.cObject.value={register:subMenuNumber} # Counter für die 2. Ebene hier inkrementieren subMenuNumber.cObject.value={register:subMenuNumber}+1 } linkWrap={register:leadingZero}{register:mainMenuNumber}.{register:leadingZero2}{register:subMenuNumber} | } lib.menu.3<lib.menu.2 lib.menu.3.NO{ before.cObject{ # Führende 0 für die 3. Ebene leadingZero3<lib.menu.2.NO.before.cObject.leadingZero leadingZero3.cObject.if.isLessThan.cObject.value={register:subSubMenuNumber} # Counter für die 2. Ebene hier nicht mehr inkrementieren subMenuNumber.cObject.value={register:subMenuNumber} # Counter für die 3. Ebene hier inkrementieren subSubMenuNumber.cObject.value={register:subSubMenuNumber}+1 } linkWrap={register:leadingZero}{register:mainMenuNumber}.{register:leadingZero2}{register:subMenuNumber}.{register:leadingZero3}{register:subSubMenuNumber} | }
Anzeigebeispiel nummeriertes Menü




Das Menü gefällt mir, nur wie bekomme ich es nun in einen Platzhalter?
besten dank für eure hilfe..
NO.wrapItemAndSub = <li>Nummer {register:count_HMENU_MENUOBJ}: |</li>
NO.wrapItemAndSub.insertData = 1
Ich benutze immer diese etwas reduzierte Version:
lib.mainmenu = COA
lib.mainmenu {
10 = HMENU
10 {
entryLevel = 0
1 = TMENU
1 {
noBlur = 1
expAll = 1
wrap = <ul>|</ul>
NO = 1
NO {
before.cObject= LOAD_REGISTER
before.cObject {
mainMenuNumber {
cObject=TEXT
cObject{
value={register:mainMenuNumber}+1
insertData=1
}
prioriCalc=intval
}
nr.stdWrap.dataWrap = 000000{register:mainMenuNumber}
nr.substring = -2
}
wrapItemAndSub = <li id="nav-{register:nr}">|</li>
wrapItemAndSub.insertData = 1
}
ACT < .NO
ACT.wrapItemAndSub = <li id="nav-{register:nr}" class="active">|</li>
}
2 < .1
2.NO.before.cObject.mainMenuNumber.cObject.value = {register:mainMenuNumber}
2.ACT.before.cObject.mainMenuNumber.cObject.value = {register:mainMenuNumber}
}
}
Add comment