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




_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an