[TYPO3-german] Counter mit TypoScript

Christian Wolff chris at connye.com
Fri May 27 09:40:06 CEST 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 26.05.2011 15:48, schrieb Reimann, Florian:
> Hallua,
> 
> also ich habe ja schon wraps gemacht von einem submenu. Nur ich muss irgendwie nach jedem dritten Punkt ein <div> einstöpseln. Bzw bin ich mittlerweile soweit, das ich einen counter habe der auch zählt wie er soll,
> nur ich bekomme die abfrage auf den Wert nicht so wie ich die brauche. 
> 
> 1337 = LOAD_REGISTER
> 				1337 {
> 				    divCounter.data = register:divCounter
> 				    divCounter.stdWrap.wrap = |+1
> 				    divCounter.prioriCalc=1
> 				}
> 
> 				[{register:imageCounter} = 3]
> 				...
> 				[else]
> 				...
> 				[end]
> 
> Was mach ich denn da falsch?

hallo Florian.
du fragst momentan mit einer Condition ab (eckige klammern)
das funktioniert aber nicht das conditions ausgewertet werden bevor das
typoscript gerendert wird.

das Parsen der typoscript templates läuft ungefähr so ab:

1. Konstanten im Code Ersetzten.
2. Conditions überprüfen und die richtigen
blöcke hintereinander setzten.
3. Zeilenweises Parsen vom Typoscript Code in ein Verschachteltes Array.
4. PAGE objekt aus dem Array erstellen. diese erzeugt dann weitere
unterobjekte ...


LOAD_REGISTER ist so ein Objekt und kommt also erst in Phase 4 dran.
lässt sich also nicht mit einer Condition Auswerten.

um in Phase 4 entscheindungen zu treffen must stdWrap.if oder
das CASE Object einsetzten.


ein UNGETESTETE Beispielcode könnte so aussehen:
10 = COA
10 {
  100 = LOAD_REGISTER
  100 {
    divCounter.data = register:divCounter
    divCounter.stdWrap.wrap = |+1
    divCounter.prioriCalc=1
  }
  200 = CASE
  200 {
    key.data = register:divCounter
    3 = COA
    3 {
      10 = TEXT
      10.value = <div class="divCounter-3"></div>
      20 = LOAD_REGISTER
      20.divCounter = 0
    }
  }
}


die Idee Dahinter ist folgende:
LOAD_RGISTER zählt. hoch.
und das CASE Object gibt den div aus falls das register gerade 3
enthält. und setzt dann das Register wieder auf 0.

gruss chris




- -- 
Christian Wolff // Berlin
http://www.connye.com

some projects:
http://richtermediagroup.com | http://titanic.de | http://keyopinions.info
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)

iEYEARECAAYFAk3fVVYACgkQIcCaXPh/JHG8agCgnfRJ3B4U4QkX8eH2w3FFKaI9
FxAAn2sfi248/9oLUcT97eYSdx52xHCE
=rcoa
-----END PGP SIGNATURE-----


More information about the TYPO3-german mailing list