Fluid if Condition - Iterator Schritte

  • birdy2000 birdy2000
    Typ im Roten Hemd
    0 x
    3 Beiträge
    0 Hilfreiche Beiträge
    07. 05. 2013, 16:36

    Hallo ich habe eine Fluid if Condition und möchte gern, dass ein Umbruch bei jedem 5 Schritt stattfindet.

    1. <f:if condition="{iterator.cycle} % 5 == 0"></tr><tr></f:if>

    So funktioniert es:

    1. <f:if condition="{iterator.cycle} == 5"></tr><tr></f:if>

    aber ich will es bei jeder 5ten Spalte so haben.

    Jemand ne Idee bzw. gibt es eine Möglichkeit?


  • 1
  • kitsunet kitsunet
    Flash Gordon
    0 x
    2559 Beiträge
    27 Hilfreiche Beiträge
    07. 05. 2013, 18:50

    Dafür gibt es extra den cycle viewhelper. Schau dir den mal an.

    config.baseURL = http://www.kitsunet.com/
    TYPO3 Flow und Neos Community Contact
    Release Manager TYPO3 Neos 1.1
    Ich habe Probleme mit den PMs hier, also schreibt mir bitte eine Mail oder über Twitter!

  • birdy2000 birdy2000
    Typ im Roten Hemd
    0 x
    3 Beiträge
    0 Hilfreiche Beiträge
    08. 05. 2013, 13:25

    Hallo, danke für die Antwort... aber irgendwie werd ich noch so ganz schlau daraus. Ich kann zwar Zeichenketten ausgeben bzw. Formatierungen für classes bestimmen, aber ich es bei meinem konkreten Fall aussieht stecke ich noch fest.

    Ich habe mir das Beispiel von der Seite: [url=http://www.typo3lexikon.de/typo3-tutorials/extensions/fluid/fluid-dokumentation.html]typo3lexikon[/url] angeschaut, welches auch plausiebel ist.

    1. <f:alias map="{mitarbeiter: {0: {vorname: 'Stefan', stadt: 'Lindlar'},1: {vorname: 'Petra', stadt: 'Lindlar'},2: {vorname: 'Sascha', stadt: 'Remscheid'},3: {vorname: 'Patrick', stadt: 'Bonn'},4: {vorname: 'Sven', stadt: 'Gummersbach'},5: {vorname: 'Andrea', stadt: 'Wuppertal'}}}">
    2. <table cellpadding="5" cellspacing="0" border="2">
    3. <f:for each="{mitarbeiter}" as="kollege">
    4. <f:cycle values="{0: 'green', 1: 'red', 2: 'blue'}" as="color">
    5. <tr>
    6. <td style="color: {color}">{kollege.vorname}</td>
    7. <td style="color: {color}">{kollege.stadt}</td>
    8. </tr>
    9. </f:cycle>
    10. </f:for>
    11. </table>
    12. </f:alias>

    Jedoch angewandt auf mein Problem komme ich hier nicht weiter. Ich möchte die Tabellenreihe schließen und eine neue anfangen, wenn 5 Werte in der Tabelle stehen.

    Habs mal in PHP / HTML gemacht. So soll es aussehen:

    1. <table width="875" height="700" border="1" align="center" >
    2. <?php
    3. for ($i = 1; $i <= 25; $i++)
    4. {?>
    5. <td align="center">
    6. <?php echo $i; ?>
    7. </td>
    8. <?php if ($i % 5 == 0)
    9. {
    10. echo "</tr><tr>";
    11. }
    12. }?>
    13. </table>

    So hab ich es bis jetzt umgesetzt, aber check das nicht ganz.

    1. <table border="1" class="tx_feld" >
    2. <f:for each="{felder}" as="feld">
    3. <f:cycle values="{5: '</tr><tr>'}" as="umbruch">
    4. <tr>
    5. <td>
    6. <f:link.action action="edit" arguments="{feld: feld}">{feld.idfeld}</f:link.action></td>{umbruch}
    7. </f:cycle></tr>
    8. </f:for>

    Die akutelle Ausgabe ist im Anhang als Bild...

    Thx

    Anhänge (1)
    feld.jpg image/jpeg 0,00 B 261 heruntergeladen
  • kitsunet kitsunet
    Flash Gordon
    0 x
    2559 Beiträge
    27 Hilfreiche Beiträge
    08. 05. 2013, 15:05

    Du musst Cycle schon auch 5 Werte mitgeben, auch wenn die dann leer sind, damit er da "durchcyclen" kann.
    Also sowas in der Art:

    1. <f:cycle values="{1: '', 2: '', 3: '', 4: '', 5: '</tr><tr>'}" as="umbruch">

    config.baseURL = http://www.kitsunet.com/
    TYPO3 Flow und Neos Community Contact
    Release Manager TYPO3 Neos 1.1
    Ich habe Probleme mit den PMs hier, also schreibt mir bitte eine Mail oder über Twitter!

  • Nuern Nuern
    T3PO
    0 x
    10 Beiträge
    0 Hilfreiche Beiträge
    09. 09. 2013, 15:57

    Hallo Christian,

    danke für Deine Hilfe, dieses Problem hat mich heute auch ereilt.
    Eine Frage habe ich dazu noch: Wie gehe ich mit dem Thema um, wenn ich Gänsefüßchen in der Ausgabe brauche? Etwa wie <div class="xyz">

    <f:cycle values="{1: '', 2: '', 3: '', 4: '', 5: '[b]<div class="xyz">[/b]'}" as="umbruch">

    Danke und Gruß
    Martin

  • kitsunet kitsunet
    Flash Gordon
    0 x
    2559 Beiträge
    27 Hilfreiche Beiträge
    10. 09. 2013, 12:09

    Mit \" sollte es gehen :)

    config.baseURL = http://www.kitsunet.com/
    TYPO3 Flow und Neos Community Contact
    Release Manager TYPO3 Neos 1.1
    Ich habe Probleme mit den PMs hier, also schreibt mir bitte eine Mail oder über Twitter!

  • harald1972 harald197...
    Sternenflotten-Admiral
    0 x
    198 Beiträge
    13 Hilfreiche Beiträge
    10. 09. 2013, 12:42

    Ich hatte so ein ähnliches Problem.
    Hab dafür einen VH geschrieben, mit dem ich

    1. for($i=init; $i<max; $i+=step)

    umsetze, ohne ein each-Array benutzen zu müssen.
    Oder eben unabhängig von der Anzahl der Elemente im each-Array alle soundsoviel (z.B. max=5)einen Umbruch (br oder tr) machen kann.

    Findet sich hier im Forum. (weiß nur nicht, wie ich das hier verlinken kann)

  • 1