hi!
in meinem menü habe ich zu einzelnen menüpunkten untermenüs, die per css um 60px nach oben geschoben werden. je nach anzahl der untermenüpunkte variiert diese zahl aber. pro menüpunkt kommen etwa 12px dazu.
nun wollte ich per typo3 prüfen wieviele menüpunkte im untermenü sind und entsprechend den wert in meiner css datei dynamisch verändern. weiß jemand wie dies funktioniert??
1. untermenüpunkte zählen
2. neue distanz errechnen umd die das untermenü nach oben verschoben wird
3. änderung in css datei dynamisch vornehmen
wo wir schonmal dabei sind:
die hauptmenüpunkte hätte ich gerne durchnummerriert: 1. startseite 2. fußball 3. mannschaft...
auch hier müsste also rausgefunden werden: um den wievielten menüpunkt es sich momentan handelt, und dann die zahl vor den link geschrieben werden.
kann mir jemand helfen, ich stehe total auf dem schlauch...
vielen dank
teddy
Ích hätt' da gern 'ne Nummer
Guckst du mal hier
#292787
oder oben links in dem Eingabefeld in diesem Forum
Grüße
Erwin
damit läuft das dann wohl mit der nummerierung. abver wie schauts aus mit dem css wert der in der css datei je nach anzahl der menüeinträge geändert werden soll?ß
schonmal dankeschön
teddy
so, ich habe nun folgenden code für das menü verwendet:
marks.MENU = HMENU
marks.MENU {
entryLevel = 0
1 = TMENU
1 {
wrap = <ul>|</ul>
noBlur = 1
NO = 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=<span class="orange">{register:leadingZero}{register:mainMenuNumber}</span> |
# insertData auf den allStdWrap setzen, da linkWrap keine stdWrap unterstützung hat.
allStdWrap.insertData=1
wrapItemAndSub=<li>|</li>
}
ACT = 1
ACT < .NO
ACT.ATagParams = class="active"
}
2 = TMENU
2 {
wrap = <span class="orange">01.1</span><ul>|</ul>
noBlur = 1
NO = 1
NO.wrapItemAndSub = <li>|</li>
NO.ATagTitle.field = title
}
problem bei der zweiten ebene: die vorangestellte zahl ist hier hardgecodet (01.1) ich hätte es gerne a la {register:leadingZero}{register:mainMenuNumber}.1 für die zweite ebene, sodass die nummer des parent elementes ausgegeben wird plus eine .1 angehängt. die .1 muss dann nicht weiter gezählt werden, sondern kann so stehen bleiben. aber wie bekomme ich die 01, 02, 03 etc. der parent links vor die XX.1???
vielen dank für die hilfe!!! der code scheint mir noch ein bisschen wulstig, kann man den noch weiter abspecken?
lg
teddy