Counter mit TypoScript
Counter mit TypoScript
Immer mal wieder brauche in TypoScript einen Zähler. Wenn ich z.b. mehrere Elemente in einer Reihe anordnen möchte und nach jedem dritten Element ein Clear-Div benötige.
Beispiel
gimp
Erste Schritte
Cleaner Internet
nachher ist alles einfach...
-- das waren fünf Zeilen --
Certified TYPO3 Integrator
MySQL fremd gehen?
Connection was not provided by any settings service
ein weiterer Shell Befehl
Browsersuche erweitert
-- das waren fünf Zeilen --
Opensearch erweitert
Payback
TypoScript Counter
10 {
1 = LOAD_REGISTER
1.counter = 0
5 = CONTENT
5.table = tt_content
5.select {
pidInList = 223
orderBy = sorting
max = 12
}
5.renderObj = TEXT
5.renderObj {
field =header
wrap = |<br />
prepend = LOAD_REGISTER
prepend {
zaehler.data = register:counter
zaehler.stdWrap.wrap = |%5
zaehler.prioriCalc=1
counter.data = register:counter
counter.stdWrap.wrap = |+1
counter.prioriCalc=1
}
append = TEXT
append.value = <br /> -- das waren fünf Zeilen -- <br />
append.if.value.data = register:zaehler
append.if.equals = 4
append.insertData = 1
}
}
Was passiert also?
Das Objekt 1 verwende ich um den Counter zu initialisieren.
Das Object 5 lädt alle content Elemente der aktuellen Seite und via renderObj definiere ich, wie die einzelnen Elemente angezeigt werden sollen.
Mit prepend verwende ich zwei Register. Den Counter der einfach mit jedem Element um eins hochgezählt wird. Der Zähler wird mod5 geteilt, d.h. es bleibt der Rest - zaehler kann Werte zwischen 0 und 4 annehmen.
Schließlich füge ich nur wenn zaehler gleich 4 ist, via append ein Element an.
Somit habe ich immer nach fünf Elementen ein zusätzlichen Trenner.
- 0 Kommentare




Mein Kommentar