Grafische Menüs

GMENU gleicht in der Funktionsweise dem TypoScript-Objekt TMENU. Die Seitentitel für die Navigation sind keine Zeichenketten, sondern werden als ein verlinktes Bild über die Typo3-internen Funktionen des GIFBUILDER erzeugt.

Im folgenden Beispiel-Code wird ein grafisches Menü definiert und einem TypoScript-Objekt zugewiesen.
Zuerst wird, wie bei auch bei Textmenüs nötig, ein hierarisches Menüobjekt HMENU erzeugt, dass die Definitionen für die grafischen Menüeinträge und deren möglichen Zustände festlegt.


  • In weiterer Folge wird ein GMENU-Objekt für die Menüeinträge der ersten Ebene des Seitenbaums definiert.
  • Für den NO-Zustand (d.h. den Normalzustand des Eintrags) wird eine Grafik von der Breite 150 Pixel und der Höhe 15 Pixel erzeugt. Als Hintergrundfarbe wird ein heller Grauton (#CCCCCC) definiert
  • Weiters können dem NO-Zustand weitere Objekte zugeordnet werden, die unterschiedliche Grafikeffekte erzeugen.
  • Im Beispiel wird ein TEXT-Objekt erstellt und der Position 5 zugeordnet. Es ist möglich und auch äußerst praktisch neue Objekte an weiteren Positionen hinzu zufügen. Die einzelnen Grafiken werden überlagert und ergeben so ein einheitliches verlinktes Bild, dass statt eines Textlinks angezeigt wird.
  • Dem TEXT-Objekt wird jeweils der Titel der aktuellen Seite zugewiesen. Dies geschieht mit der Anweisung text.field = title.
  • Die Eigenschaft offset erlaubt die Positionierung der Schrift.
  • Die Eigenschaft fontColor definiert die Farbe und die Eigenschaft fontSize liegt die Größe der Schrift fest.
  • Der ACT- sowie der RO-Zustand sind ähnlich wie der NO-Zustand aufgebaut, lediglich die Hintergrund- und Schriftfarben sind unterschiedlich. Praktisch ist hier der Zuweisungsoperator < , da man sich damit einiges an Schreibarbeit erspart.
  • ACT und RO müssen außerdem mit 1 aktiviert werden, ansonsten werden diese Zustände beim Rendern der Menüeinträge nicht berücksichtigt.

Dank der Überlagerung verschiedener Objekte (z.B. kann ein zusätzliches BOX-Objekt definiert werden) ergeben sich vielfältige Gestaltungsmöglichkeiten. Das nächste Code-Beispiel ist eine einfache Abwandlung des vorigen Beispiels. Vor dem TEXT-Objekt wird ein BOX-Objekt eingefügt, dass 5 Pixel von oben und links einrückt sowie 145 Pixel breit und 10 Pixel hoch ist. Da die Grafiken zur Laufzeit erstellt werden, ist auch ein evt. Performanceverlust bei intensiver Nutzung dieser Überlagerungen nicht zu unterschätzen.