Zum Inhalt springen

TMENU, TMENUITEM - Was ist Was?

Erstellt am 2. Januar 2017 · 4 Antworten · letzte Antwort am 3. Januar 2017

Tags: TYPO3 7, Frage

getit ·

Der folgende Code ist ein funktionierendes Beispiel von meinem aktuellen Projekt:

lib.hauptmenu {
  special = directory
  special.value = 7
  wrap = <ul class="hauptmenu">|</ul>

  1 = TMENU
  1 {
    expAll = 1

    NO = 1
    NO {
      wrapItemAndSub = <li>|</li>
      ATagParams = type="button" data-toggle="dropdown"
    }
  }

  2 < .1
  2 {
    wrap = <ul class="dropdown-menu fullwidth">|</ul>

    NO = 1
    NO {
      wrapItemAndSub = <li>|</li>
    }
  }
}

Die Frage:
Was genau ist da das TMENU und was das TMENUITEM.
Z.b.: Ist der wrap in lib.hauptmenu.2 jetzt Teil des MENU oder des ITEMS ?

Ich würde sagen auf das MENU, da nur das TMENUITEM Zugriff auf stdWrap.wrap hat.
Aber wieso direkt - also nicht lib.hauptmenu.2.stdWrap.wrap?

Julian.​Hofmann ·

Dir fehlt da noch eine Zeile zum Verständnis:

lib.hauptmenu = HMENU

Das HMENU definiert was im Menü gezeigt werden soll (hier als Spezialfall der Inhalt eines Directories). Das HMENU hat auch direkt die wrap-Eigenschaft (und anschließend auch stdWrap).

Das TMENU definiert für eine Ebene Details zur Darstellung. Alternativen wären GMENU, JSMENU).

Das TMENUITEM legt schließlich fest, wie ein einzelner Menüeintrag sich verhalten soll. Dabei wird nochmal nach den Zuständen (NO, ACT, CUR etc) unterschieden.

getit ·

Vielen Dank für die Erklärung.

Ich dachte innerhalb eines Elements (hier: lib.hauptmenu.2) steht nur das zur Verfügung was das Element selber mitbringt.

Also ist das

lib.hauptmenu = HMENU
lib.hauptmenu {
  special = directory
  special.value = 7
  wrap = <ul class="hauptmenu">|</ul>
  ...
}

Teil vom HMENU,
das

 1 = TMENU
  1 {
    expAll = 1
    ...
  }
  ...
}

Teil vom TMENU
und das dann schließlich

NO = 1
NO {
  wrapItemAndSub = <li>|</li>
  ATagParams = type="button" data-toggle="dropdown"
}
...

das TMENUITEM.

Hab ich beides richtig Verstanden?

Julian.​Hofmann ·
getit schrieb

Ich dachte innerhalb eines Elements (hier: lib.hauptmenu.2) steht nur das zur Verfügung was das Element selber mitbringt.

Ja. Aber - um auf die ursprüngliche Frage nochmal zu kommen - TMENU hat direkt wrap-Eigenschaft (interessanterweise hier erst nach stdWrap, also andersrum als beim HMENU)

getit schrieb

Hab ich beides richtig Verstanden?

Ich denke ja 🙂