TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Menu LI mit class, die abhängig von der Position sind


Autor Nachricht
Verfasst am: 30. 03. 2010 [19:37]
lizbet
Themenersteller
Dabei seit: 19.04.2004
Beiträge: 114
An die Mitreisenden,
folgendes (Horizontal-UL-)Menu soll umgesetzt werden (es wechseln die background-Grafiken):

- inaktiv (class="eins"icon_wink.gif
- inaktiv, wenn irgendwo links von aktiv (class="zwei"icon_wink.gif
- aktiv (class="drei"icon_wink.gif

Beispiel Hier wäre der dritte Menupunkt aktiv:
Item1 class="zwei" | Item2 class="zwei" | Item3 class="drei" | Item4 class="eins"

Kann man diese Abhängigkeit überhaupt mit TS lösen?

Erster Ansatz ist mit Hilfe von "register" unterschiedliche Klassen abhängig von der Position zuweisen zu lassen. Bspw.:

TYPOSCRIPT
1.NO.ATagParams.dataWrap = class="aktiv{ register:count_HMENU_MENUOBJ }"


Mit sowas kann man pfrimeln, aber das löst freilich nicht das obige Prob.

Danke für Hilfe
Liz


[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 30.03.2010 um 20:11.]

------------------------------------
Weil jeder Tag zählt.
Profil
Verfasst am: 31. 03. 2010 [17:36]
lizbet
Themenersteller
Dabei seit: 19.04.2004
Beiträge: 114
Zugegebenermassen ist das Ganze ein sehr spezieller Fall. Rein vom Design her vorgegeben. Ohne dass dem Design eine Funktion folgte - die Seiten sind auf einer Ebene, nicht verschachtelt. (Wäre das Design fuktional, könnte ich die einzelenen Seiten ineinander schachteln und mit ACT und CUR arbeiten.)

Aber egal, denn die Fragestellung ist auch noch andernorts brauchbar. Folgende register stehen zur Verfügung (eine vollständige Liste, was man da alles zuweisen kann, wär auch was feines):

count_HMENU:
gibt die Anzahl der H-Menus an. Welche gibts denn noch?

count_HMENU_MENUOBJ:
"nummeriert" alle H-Menü-Objekte in ihrer Reihenfolge (Position) unabhängig vom Level

count_menuItems:
gibt die Anzahl der Menü-Objekte des jeweiligen Levels an.

count_MENUOBJ :
"nummeriert" alle Menü-Objekte in ihrer Reihenfolge (Position) unabhängig vom Level. Wasn da der Unterschied zu count_HMENU_MENUOBJ?

Man müsste den Wert(Position) des ACT und den Wert(Position) des NO auslesen und beide Werte miteinander verrechnen.
Sowas wie: wenn ACT(Position) minus NO(Position) kleiner als ACT(Position), dann gib NO die Klasse "zwei", bzw. wenn größer, dann Klasse "eins".


Öhhh, geht das mit TS?
Kann TS rechnen?


------------------------------------
Weil jeder Tag zählt.
Profil
Verfasst am: 07. 04. 2010 [17:46]
lizbet
Themenersteller
Dabei seit: 19.04.2004
Beiträge: 114
soweit so gut. ich kann also eigene registerwerte definieren.

davon ausgehend, dass ich zwei werte definiert habe:
- mein_registerwert
- mein_anderer_registerwert

(beide lassen sich erfolgreich ausgeben.)

ahaber, warum geht das hier schief:

TYPOSCRIPT
mein_objekt.cObject=TEXT
mein_objekt.cObject {
  value=klasseX
  if.value = { register:mein_registerwert }
  if.isGreaterThan.cObject=TEXT
  if.isGreaterThan.cObject {
    value = { register:mein_anderer_registerwert }
    insertData=1
  }
}


während das klappt:

TYPOSCRIPT
mein_objekt.cObject=TEXT
mein_objekt.cObject {
  value=klasseX
  # if.value = { register:mein_registerwert }
  if.value = 5
  if.isGreaterThan.cObject=TEXT
  if.isGreaterThan.cObject {
    value = { register:mein_anderer_registerwert }
    insertData=1
  }
}


kann ich dem if.value keinen registerwert zuordnen?
was mache ich falsch?


es dankt für hilfe
liz

------------------------------------
Weil jeder Tag zählt.
Profil
Verfasst am: 08. 04. 2010 [11:54]
lizbet
Themenersteller
Dabei seit: 19.04.2004
Beiträge: 114
selbst geholfen:

TYPOSCRIPT
mein_objekt.cObject=TEXT
mein_objekt.cObject {
  value=klasseX
  if.value.data = register:mein_registerwert
  if.isGreaterThan.cObject=TEXT
  if.isGreaterThan.cObject {
    data= register:mein_anderer_registerwert
    insertData=1
  }
}


so gehts.

------------------------------------
Weil jeder Tag zählt.
Profil