Re: [TYPO3-german] Element-Gruppen wrappen in eigenem Content mit TS
*push* hat niemand eine Idee oder einen Ansatz? :-/ Ich habe zwischenzeitlich Versucht, den stdWarp.outerWrap.override in ein COA zu verwandeln und a) den gesamten override mit if nur auszugeben, wenn es das letzte Element ist ( value.data = cObj:parentRecordNumber equals.data = register:totalRecords ), das klappt auch soweit b) dann die 10 und 20 des COAs jeweils wieder mit if abzufragen, aber da geht irgendwas schief: stdWrap.outerWrap.override.cObject = COA stdWrap.outerWrap.override.cObject { if.value.data = cObj:parentRecordNumber if.equals.data = register:totalRecords # ist das erste nach dem modulo und das letzte element, eine ganzes div # muss drumrum 10 = TEXT 10.value = div class=group last first|!-- .group.last.first --/div 10.if { value.data = cObj:parentRecordNumber wrap = |%4 prioriCalc = 1 equals = 1 } # das letzte element, aber nicht das erste, also div nur zumachen 20 = TEXT 20. value = |!-- .group.last --/div 20.if { value.data = cObj:parentRecordNumber wrap = |%4 prioriCalc = 1 equals = 1 negate = 1 } } es wird immer die 20 ausgegeben, niemals die 10. :( Viele Grüße Tom Am 28.03.11 12:41, schrieb Tom Arnold: So, weiter im Selbstgespräch. Die Anzahl der Gesamtrecords habe ich nun auch, mit LOAD_REGISTER und numRows. Jetzt gibt es noch eine letzte Sache: Wenn der letzte Record gleichzeitig der erste Record nach dem Modulo ist, dann wird durch die Überprüfung auf es ist das letzte, das startende Group-Div nicht erzeugt... argh. Ich brauche also *noch* eine Überprüfung. Im Moment wird innerhalb des CASE des outerWraps gecheckt, ob es der erste Record (oder der erste nach dem der Modulo=0 ist) ist, oder der Record, bei dem der Modulo=0 ist. Dann wird im Override des Outerwrap geschaut, ob es der letzte Record ist. Hier müsste jetzt noch die Überprüfung rein, ob es der erste Record (nach dem Modulo) UND der letzte Record ist - und wieder stehe ich vor einem Rätsel. temp.gruppen = CONTENT temp.gruppen { (selectkrams...) renderObj = COA renderObj { stdWrap.dataWrap = div class=item-{cObj:parentRecordNumber}|/div 1 = LOAD_REGISTER 1.totalRecords = TEXT 1.totalRecords.numRows temp.gruppen 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 } stdWrap.outerWrap.override.cObject = COA stdWrap.outerWrap.override.cObject { if.value.data = cObj:parentRecordNumber # wie bekomme ich hier die numRows hin? if.equals.data = register:totalRecords 10 = TEXT 10.value = |!-- .group .last --/div } 10 = TEXT 10.value = (Hier der Inhalt) } } Viele Grüsse Tom Am 27.03.11 19:51, schrieb Tom Arnold: Soo, fast am Ziel :) Das letzte Puzzlestück, den letzten Record zu identifizieren und ebenfalls mit dem schliessenden Group-Div zu versehen, klappt, wenn ich die Anzahl der Records als Zahl reinschreibe (14). Perfekt wäre es, wenn ich an dieser Stelle sowas wie cObj:parentRecordTotal oder eben die numRows aus dem select benutzten könnte... 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 } stdWrap.outerWrap.override.cObject = COA stdWrap.outerWrap.override.cObject { if.value.data = cObj:parentRecordNumber # wie bekomme ich hier die numRows hin? if.equals = 14 10 = TEXT 10.value = |!-- .group .last --/div } 10 = TEXT 10.value = (Hier der Inhalt) } } Hat da jemand eine Idee? Vielem Dank, Tom Am 27.03.11 14:12, schrieb Tom Arnold: Argh. Einen kleinen Schönheitsfehler hat das Ganze noch: Die letzte Group wird nicht geschlossen, wenn es nicht genau auf 4 aufgeht. Damn. Zu früh gefreut. Am 27.03.11 13:45, schrieb Tom Arnold: 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
Re: [TYPO3-german] Element-Gruppen wrappen in eigenem Content mit TS
Am 29.03.2011 15:19, schrieb Tom Arnold: *push* hat niemand eine Idee oder einen Ansatz? :-/ Schau mal in den thread: TypoScript OptionSplit: Problem mit Tabelle Mit OptionSplit sollte es sich zaubern lassen. ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Element-Gruppen wrappen in eigenem Content mit TS
Hi Björn, danke für die Antwort. pfuuu, optionSplit ist natürlich heftig...:) ich dachte/hoffte, mit den CASE und if Dingern da drumherum zu kommen, bzw. ist mir nicht ganz klar, wie ich Dein Konzept des auffüllens mit Leerzellen auf mein Problem umbauen könnte… ich muss mir das noch genauer ansehen. Viele Grüße, Tom Am 29.03.11 15:25, schrieb Björn Pedersen: Am 29.03.2011 15:19, schrieb Tom Arnold: *push* hat niemand eine Idee oder einen Ansatz? :-/ Schau mal in den thread: TypoScript OptionSplit: Problem mit Tabelle Mit OptionSplit sollte es sich zaubern lassen. ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Element-Gruppen wrappen in eigenem Content mit TS
Hi, der optionSpit scheint nicht zu funktionieren am stdWrap.outerWrap, in der Ausgabe bekomme ich nur ein * nach den Elementen zu sehen, so als würde das |*| als normaler Wrap mit folgendem Stern interpretiert… stdWrap.outerWrap.cObject = COA stdWrap.outerWrap.cObject { 10 = CASE 10 { key.cObject = TEXT key.cObject.data = register:totalRecords # 2, Berechnung per Modulo key.cObject.wrap = |%4 key.prioriCalc = intval 0 = TEXT # passt 0.value = |*|div class=group 1| || 2| || 3| || 4| /div|*|div class=group 5| || 6| || 7| || 8| /div 1 = TEXT # 3 rest 1.value = |*|div class=group 1| || 2| || 3| || 4| /div|*|div class=group 5| /div|| 6| || 7| || 8| 2 = TEXT # 2 rest 2.value = |*|div class=group 1| || 2| || 3| || 4| /div|*|div class=group 5| || 6| /div || 7| || 8| 3 = TEXT # 3 rest 3.value = |*|div class=group 1| || 2| || 3| || 4| /div|*|div class=group 5| || 6| || 7| /div || 8| } } Viele Grüße Tom Am 29.03.11 15:25, schrieb Björn Pedersen: Am 29.03.2011 15:19, schrieb Tom Arnold: *push* hat niemand eine Idee oder einen Ansatz? :-/ Schau mal in den thread: TypoScript OptionSplit: Problem mit Tabelle Mit OptionSplit sollte es sich zaubern lassen. ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Element-Gruppen wrappen in eigenem Content mit TS
Hargh. Wer TSref lesen kann, ist im Vorteil. Die optionSplit Funktion kann in Menüs und bei split verwendet werden. Sie ermöglicht es eine Eigenschaft in Abhängigkeit von der Menü-Position zu belegen. Also zurück zu Los. :-( Viele Grüße Tom Am 29.03.11 16:17, schrieb Tom Arnold: Hi, der optionSpit scheint nicht zu funktionieren am stdWrap.outerWrap, in der Ausgabe bekomme ich nur ein * nach den Elementen zu sehen, so als würde das |*| als normaler Wrap mit folgendem Stern interpretiert… stdWrap.outerWrap.cObject = COA stdWrap.outerWrap.cObject { 10 = CASE 10 { key.cObject = TEXT key.cObject.data = register:totalRecords # 2, Berechnung per Modulo key.cObject.wrap = |%4 key.prioriCalc = intval 0 = TEXT # passt 0.value = |*|div class=group 1| || 2| || 3| || 4| /div|*|div class=group 5| || 6| || 7| || 8| /div 1 = TEXT # 3 rest 1.value = |*|div class=group 1| || 2| || 3| || 4| /div|*|div class=group 5| /div|| 6| || 7| || 8| 2 = TEXT # 2 rest 2.value = |*|div class=group 1| || 2| || 3| || 4| /div|*|div class=group 5| || 6| /div || 7| || 8| 3 = TEXT # 3 rest 3.value = |*|div class=group 1| || 2| || 3| || 4| /div|*|div class=group 5| || 6| || 7| /div || 8| } } Viele Grüße Tom Am 29.03.11 15:25, schrieb Björn Pedersen: Am 29.03.2011 15:19, schrieb Tom Arnold: *push* hat niemand eine Idee oder einen Ansatz? :-/ Schau mal in den thread: TypoScript OptionSplit: Problem mit Tabelle Mit OptionSplit sollte es sich zaubern lassen. ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Element-Gruppen wrappen in eigenem Content mit TS
So, weiter im Selbstgespräch. Die Anzahl der Gesamtrecords habe ich nun auch, mit LOAD_REGISTER und numRows. Jetzt gibt es noch eine letzte Sache: Wenn der letzte Record gleichzeitig der erste Record nach dem Modulo ist, dann wird durch die Überprüfung auf es ist das letzte, das startende Group-Div nicht erzeugt... argh. Ich brauche also *noch* eine Überprüfung. Im Moment wird innerhalb des CASE des outerWraps gecheckt, ob es der erste Record (oder der erste nach dem der Modulo=0 ist) ist, oder der Record, bei dem der Modulo=0 ist. Dann wird im Override des Outerwrap geschaut, ob es der letzte Record ist. Hier müsste jetzt noch die Überprüfung rein, ob es der erste Record (nach dem Modulo) UND der letzte Record ist - und wieder stehe ich vor einem Rätsel. temp.gruppen = CONTENT temp.gruppen { (selectkrams...) renderObj = COA renderObj { stdWrap.dataWrap = div class=item-{cObj:parentRecordNumber}|/div 1 = LOAD_REGISTER 1.totalRecords = TEXT 1.totalRecords.numRows temp.gruppen 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 } stdWrap.outerWrap.override.cObject = COA stdWrap.outerWrap.override.cObject { if.value.data = cObj:parentRecordNumber # wie bekomme ich hier die numRows hin? if.equals.data = register:totalRecords 10 = TEXT 10.value = |!-- .group .last --/div } 10 = TEXT 10.value = (Hier der Inhalt) } } Viele Grüsse Tom Am 27.03.11 19:51, schrieb Tom Arnold: Soo, fast am Ziel :) Das letzte Puzzlestück, den letzten Record zu identifizieren und ebenfalls mit dem schliessenden Group-Div zu versehen, klappt, wenn ich die Anzahl der Records als Zahl reinschreibe (14). Perfekt wäre es, wenn ich an dieser Stelle sowas wie cObj:parentRecordTotal oder eben die numRows aus dem select benutzten könnte... 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 } stdWrap.outerWrap.override.cObject = COA stdWrap.outerWrap.override.cObject { if.value.data = cObj:parentRecordNumber # wie bekomme ich hier die numRows hin? if.equals = 14 10 = TEXT 10.value = |!-- .group .last --/div } 10 = TEXT 10.value = (Hier der Inhalt) } } Hat da jemand eine Idee? Vielem Dank, Tom Am 27.03.11 14:12, schrieb Tom Arnold: Argh. Einen kleinen Schönheitsfehler hat das Ganze noch: Die letzte Group wird nicht geschlossen, wenn es nicht genau auf 4 aufgeht. Damn. Zu früh gefreut. Am 27.03.11 13:45, schrieb Tom Arnold: 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) } } ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Element-Gruppen wrappen in eigenem Content mit TS
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 entsprechenddiv 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
Re: [TYPO3-german] Element-Gruppen wrappen in eigenem Content mit TS
Argh. Einen kleinen Schönheitsfehler hat das Ganze noch: Die letzte Group wird nicht geschlossen, wenn es nicht genau auf 4 aufgeht. Damn. Zu früh gefreut. Am 27.03.11 13:45, schrieb Tom Arnold: 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) } } ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Element-Gruppen wrappen in eigenem Content mit TS
Soo, fast am Ziel :) Das letzte Puzzlestück, den letzten Record zu identifizieren und ebenfalls mit dem schliessenden Group-Div zu versehen, klappt, wenn ich die Anzahl der Records als Zahl reinschreibe (14). Perfekt wäre es, wenn ich an dieser Stelle sowas wie cObj:parentRecordTotal oder eben die numRows aus dem select benutzten könnte... 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 } stdWrap.outerWrap.override.cObject = COA stdWrap.outerWrap.override.cObject { if.value.data = cObj:parentRecordNumber # wie bekomme ich hier die numRows hin? if.equals = 14 10 = TEXT 10.value = |!-- .group .last --/div } 10 = TEXT 10.value = (Hier der Inhalt) } } Hat da jemand eine Idee? Vielem Dank, Tom Am 27.03.11 14:12, schrieb Tom Arnold: Argh. Einen kleinen Schönheitsfehler hat das Ganze noch: Die letzte Group wird nicht geschlossen, wenn es nicht genau auf 4 aufgeht. Damn. Zu früh gefreut. Am 27.03.11 13:45, schrieb Tom Arnold: 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) } } ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
[TYPO3-german] Element-Gruppen wrappen in eigenem Content mit TS
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