[TYPO3-german] [Gelöst] Element-Gruppen wrappen in eigenem Content mit TS

Tom Arnold t3list at bnt.de
Sun Mar 27 13:45:59 CEST 2011


Hallo,

ich habe die Lösung nun selbt gefunden - CASE und stdWrap.outerWrap ist 
mein Freund! :-)

So werden jeweils vier Elemente in ein DIV zusammengewrappt:

temp.gruppen = CONTENT
temp.gruppen {
	(selectkrams...)
	renderObj = COA
	renderObj {
		stdWrap.dataWrap =
  <div class="item-{cObj:parentRecordNumber}">|</div>
		stdWrap.outerWrap.cObject = COA
		stdWrap.outerWrap.cObject {
			10 = CASE
			10.key.cObject = TEXT
			10.key.cObject.data = cObj:parentRecordNumber
         		# 2, Berechnung per Modulo
         		10.key.cObject.wrap = |%4
         		10.key.prioriCalc = intval
			# default: nix wrappen
         		10.default = TEXT
         		10.default.value = |
			# erstes element: groupwrap oeffnen:
         		10.1 = TEXT
         		10.1.value = <div class="group">|
			# modulo = 0: groupwrap schliessen:
         		10.0 = TEXT
         		10.0.value = |<!-- .group --></div>
		}
		10 = TEXT
		10.value = (Hier der Inhalt)
	}
}

Jippieh. Man kann nun bei der Modulo auch andere Gruppenzahlen angeben, 
entsprechend viele Elemente kommen dann in das Group-div.

Viele Grüsse
Tom


Am 27.03.11 11:00, schrieb Tom Arnold:
> Hallo,
>
> ich bin ein wenig weitergekommen, ich bekomme nun bei jedem vierten
> Element die erwartete "0" ausgegeben.
>
> Die Rahmenbedingungen sind nun alle da, jetzt fehlt mir nur noch die
> Überprüfung und der "Gruppen-Wrap", da stehe ich auf dem Schlauch.
>
> temp.gruppen = CONTENT
> temp.gruppen {
> (selectkrams...)
> cObj = COA
> cObj {
> 1 = TEXT
> 1 {
> current = 1
> setCurrent.data = cObj:parentRecordNumber
> setCurrent.wrap = |%4
> prioriCalc = 1
> # Ausgabe: 1,2,3,0,1,2,3,0,1,2 usw
> }
>
> # so wird nur jedes vierte Element ausgegeben:
> # stdWrap.if.isTrue.value < .1
> # stdWrap.if.isTrue.equals = 0
>
> stdWrap.dataWrap = <div class="item-{cObj:parentRecordNumber}">|</div>
> 10 = TEXT
> 10.value = (Hier der Inhalt)
> }
> }
>
> Ich müsste ja jetzt irgenwie diese Überprüfung innerhalb des cObj eine
> Ebene höher bekommen, da mein gewünschter "Gruppen-Wrap" ja nicht
> innerhalb des jeweiligen cObj liegen darf, sondern um mehrere cObj
> drumherum. Das muss doch irgendwie gehen?
>
> Viele Grüsse
> Tom
>
>
> Am 25.03.11 17:33, schrieb Tom Arnold:
>> Hi,
>>
>> ich baue mir mit TS ein eigenes Content-Objekt. Wie kann ich
>> erreichen, dass ich nicht per
>>
>> cObj.stdWrap.wrap =<div class="item"> |</div>
>>
>> um jedes Element meinen wrap habe, sondern immer vier Objekte zusammen
>> in einem div?
>>
>> Die "Loop" Zahl steht ja in {cObj:parentRecordNumber}, mit
>>
>> cObj.stdWrap.dataWrap =<div class="item n-{cObj:parentRecordNumber}">
>> |</div>
>>
>> erhalte ich in der Ausgabe entsprechend<div class="item n-1"> ,<div
>> class="item n-2"> usw.
>>
>> Mit einem Modulo {cObj:parentRecordNumber}%4 müsste ich also "merken",
>> wenn das jeweils vierte Element ausgegeben wird, allerdings ist mir
>> völlig unklar, wie ich
>>
>> a) Diese Überprüfung in TS schreibe und
>> b) dann in Abhängigkeit davon den stdWrap.wrap so mache, dass
>> Vierer-Gruppen entstehen…?
>>
>> Viele Dank für Hilfe…
>> Tom
>>
>>
>



More information about the TYPO3-german mailing list