TypoScript: Eine Einführung – Teil 3
In dem ersten Artikel dieser Serie haben wir und mit dem prinzipiellen Aufbau von TypoScript beschäftig. In dem darauf folgenden zweiten Teil haben wir uns angeschaut, wie wie den Inhalt aus der Datenbank auslesen und darstellen können.
In dem Teil 3 geht es nun darum, Menüs mit TYPO3 zu erzeugen.
Erstellt ein Redakteur eine neue Seite in der Redaktionsoberfläche, so sorgt TYPO3 (genauer: TypoScript) dafür, das ein neuer Menüpunkt an der richtigen Stelle erzeugt wird.
Wenn wir ein Menü erzeugen wollen so benötigen wir als erstes ein Objekt dem wir die Klasse “HMENU” zuweisen.
1 lib.meinMenu = HMENU
Als nächstes bestimmen wir, wie Menüpunkte der ersten Ebene aussehen sollen. Dazu können wir die Eigenschaft “Zähler” (1 / 2 / 3 / …) der Klasse “HMENU” benutzen
1 lib.meinMenu = HMENU
2 lib.meinMenu.1 =
Die Zahl 1 in dem Objektpfad “lib.meinMenu.1” ist dabei nicht beliebig, sondern legt fest, dass hier ein Menü der 1. Ebene definiert wird!
Doch wie soll das Menü aussehen? TYPO3 kennt unterschiedliche Menütypen. Es gibt z.B. ein reines Textmenü oder ein grafisches Menü. Der Einfachheit halber wollen wir erstmal ein einfaches Textmenü erstellen. Dazu weisen wir unserem Objektpfad “lib.meinMenu.1″ die Klasse “TMENU” zu.
1 lib.meinMenu = HMENU
2 lib.meinMenu.1 = TMENU
TypoScript kann für unterschiedliche Menüstati unterschiedliche Konfigurationen vorsehen. Doch was sind Menüstati? Nun ja, da gibt es als erstes den so genannte normalen Status (“NO”). Ein Menüpunkt steht da und wartet darauf angeklickt zu werden. Dann gibt es weitere Stati, wie z.B. Aktiv (“ACT”). Dieser Menüpunkt ist gerade angeklickt worden. Wir wollen erstmal den Normal-Status definieren.
1 lib.meinMenu = HMENU
2 lib.meinMenu.1 = TMENU
3 lib.meinMenu.1.NO = 1
In Zeile drei wird also definiert, dass wir den Normal-Status aktivieren wollen.
Grundsätzlich sind wir damit mit dem Menü schon durch! Im nächsten Schritt können wir das Menü nun “stylebar” machen. Die meisten Menüs bestehen aus eine unnummerierten Liste mit den HTML-Tags <ul> und <li>. Wir müssen also dafür sorgen, dass um das ganze Menü ein <ul> geschrieben wird und das um jeden einzelnen Menüpunkt ein <li> geschrieben wird.
1 lib.meinMenu = HMENU
2 lib.meinMenu.wrap = <ul> | </ul>
3 lib.meinMenu.1 = TMENU
4 lib.meinMenu.1.NO = 1
5 lib.meinMenu.1.NO.wrapItemAndSub = <li> | </li>
Was passiert hier?
In Zeile 2 benutzen wir die Eigenschaft “wrap”. Wir schauen uns das Verfahren “wrap” in einem späteren Artikel noch genauer an. Hier nur so viel: “Wrap” bedeutet “umfassen” und genau das haben wir hier vor. Wir wollen das Menü (das Objekt “lib.meinMenu”) von einem <ul> umfassen lassen.
In Zeile 5 sorgen wir dafür, dass die einzelnen Menüpunkte (“lib.meinMenu.1.NO”) von einem <li> umfasst werden.
Für Beispiele, wie weitere Menüs aussehen können, möchte ich hier auf das Dokument “TypoScript by Example” hinweisen.
Damit ist der dritte Teil der Einführung beendet. Im nächsten Teil beschäftigen wir uns mit dem Thema “stdWrap”.
Popularity: 12%
Werbung
2007-07-09 - 12.08 pm
Die Zeile:
lib.meinMenu.1.NO = 1
ist überflüssig, da NO per default aktiviert ist. Nur die anderen Stati müssen aktiviert, also z.B. ACT = 1
Gruß
_Frank
2007-07-09 - 12.11 pm
Ja, ist richtig! Aber: aus didaktischen Gründen (weil wie Du schon geschrieben hast ARC aktiviert werden muss) habe ich das auch immer bei NO gemacht. Ist dann einfacher zu verstehen, dass man das bei ACT/RO/etc. machen muss..
Aber danke für den Hinweis!
2008-01-18 - 4.54 am
Sehr guter weblog! Gerade für Newbies macht weiter so.
2008-01-18 - 10.26 am
Vielen Dank! Ich bleib dran, versprochen!
2008-12-31 - 9.11 am
Hallo,
eine wirklich gelungene Seite, die Basics von TypoScript werden verständlich erklärt.
Gruß
P.S. der Plural von Status ist Status (mit gedehntem u), nicht Stati / Menustati
2009-02-16 - 3.11 pm
Hallo!
Herzlichen Dank für die Artikel, sehr verständlich geschrieben!
2009-02-16 - 3.21 pm
Immer gerne und Danke für das Lob! :-)