Zum Inhalt springen

unterschiedliche Menues bei Subseiten

Erstellt am 9. Juni 2009 · 1 Antwort · letzte Antwort am 10. Juni 2009

Tags: Frage

edv-cm ·

Hallo,

ich möchte gerne unterschiedliche Menues haben, entsprechend der Anzahl der Unterseiten ... soll heißen ich habe 6 oder weniger Subseiten, also gibt es das ein-spaltige und bei 7 oder mehr Seiten das zwei-spaltige Menue. Jetzt habe ich schon das tolle "lib.splitmenu" gefunden und auch ein

lib.splitmenu = COA
lib.splitmenu {
 
 10 = HMENU
 10.entryLevel = 1
############ NEU #############
 10.if.value.data = register:count_menuItems
 10.if.isLessThan = 6
############ /NEU #############

 10.1 = TMENU
 10.1 {
  wrap = <td valign="top"><ul class="subnav"> | </ul></td>
  NO {
   stdWrap.cObject = COA
   stdWrap.cObject {
    10 = TEXT
    10.field = title
    if.value.data = register:count_HMENU_MENUOBJ
    if.negate = 1
    if.isLessThan.prioriCalc=1
    if.isLessThan.cObject=TEXT
    if.isLessThan.cObject.insertData=1
    if.isLessThan.cObject.value = ({register:count_menuItems}+1)/2
    wrap = <li>|</li>
   }
  }
 }
 20 < .10
 20.1.wrap = <td valign="top"><ul class="subnav"> | </ul></td>
 20.1.NO.stdWrap.cObject.if.negate >

############ NEU #############
 30 = HMENU
 30.entryLevel = 1

 30.if.value.data = register:count_menuItems
 30.if.isLessThan = 6
 30.if.negate = 1

 30.1 = TMENU
 30.1 {
  wrap = <ul class="subnav"> | </ul>
  # Normal state properties
  NO.allWrap = <li> | </li>
 
  # Enable active state and set properties:
  ACT = 1  ACT.allWrap = <li> | </li>
 }
############ /NEU #############
}

eingebaut. Die gleiche "IF" abfrage habe ich ohne "negate" auch im 10er um das dann darzustellen. Leider benimmt sich das immer so, als ob in der "register:count_menuItems" gar nichts drinn ist. Gibt es da noch eine Lösung?

Danke und Gruß

edv-cm ·

OK ich habe mal ne andere Lösung , die mir zwar zu statisch ist, aber immerhin funktioniiert sie:

Nur die Seiten PID mit 5 und 6 haben diese vielen Unterseiten also per Bedingung werden diese explizit abgefragt.

# Prüfen ob die Seite zu denen mit langem Unterseiten gehört
[globalVar = TSFE:page|pid=5,TSFE:page|pid=6]

lib.splitmenu = COA
lib.splitmenu {
   ....
}

# Alle anderen Seiten bekommen das einspaltige Menue
[else]

# Menu 1 cObject
 lib.splitmenu = HMENU
 lib.splitmenu.entryLevel = 1

 # First level menu-object, textual
 lib.splitmenu.1 = TMENU
 lib.splitmenu.1 {
  wrap = <ul class="subnav"> | </ul>
    ....
  ACT.allWrap = <li> | </li>
}

[global]

Wenn das doch noch "echt" dynamisch geht ...

für Anregungen offen
EDV