Auf einen Wert aus der letzten Schleife zugreifen in Fluid

  • felicitas81 felicitas...
    Typ im Roten Hemd
    0 x
    3 Beiträge
    0 Hilfreiche Beiträge
    04. 07. 2013, 22:48

    Hallo,

    ich habe eine Schleife in einer Schleife, die ich im Fluid Template durchlaufe. Wenn ich mit der inneren Schleife fertig bin, benötige ich einen Wert vom Array, durch das ich gegangen bin.

    Gibt es dafür eine Möglichkeit oder einen Ansatz? Ich benötige den Wert für eine Condition, da ich je nach dem Wert aus dem Array noch etwas ausgeben muss.

    1. <f:for each="{arrData}" key="key" as="data" iteration="myIteration">
    2.  
    3. <f:for each="{data}" as="arr">
    4. ...
    5. </f:for>
    6. Hier möchte ich auf einen Wert von arr aus dem letzten Schleifendurchlauf zugreifen
    7. </f:for>

    Danke
    Felicitas


  • 1
  • 0 x
    9 Beiträge
    0 Hilfreiche Beiträge
    05. 07. 2013, 07:44

    Hallo Felicitas,

    ich fürchte, das ist mit den Fluid-ViewHelpern nativ nicht möglich, du müsstest Dir dafür einen eigenen ViewHelper schreiben. Dazu kannst Du natürlich vom for-ViewHelper ableiten. Ich meine irgendwo mal gelesen zu haben, dass man Variablen auch im globalen Kontext speichern kann (nicht GLOBALS, irgendwie in $this->context).

    Harald(1972) guckt bestimmt auch noch mal hier rein und kann da vielleicht noch mehr sagen 8-)

    VG karl

  • LuP LuP
    Jedi-Meister
    0 x
    496 Beiträge
    1 Hilfreiche Beiträge
    05. 07. 2013, 10:55

    Hallo,

    wenn es nichts dagegen spricht, würde ich innerhalb der inneren Schleife die gewünschte Ausgabe rendern.

    1. <f:for each="{arrData}" key="key" as="data" iteration="i">
    2. <f:for each="{data}" as="arr" iteration="j">
    3. ...
    4. <f:if condition="{i.isLast}">
    5. <f:if condition="{j.isLast}">
    6. <f:debug>{arr}</f:debug>
    7. </f:if>
    8. </f:if>
    9. </f:for>
    10. </f:for>

    VG,
    LuP

  • felicitas81 felicitas...
    Typ im Roten Hemd
    0 x
    3 Beiträge
    0 Hilfreiche Beiträge
    05. 07. 2013, 11:05

    Vielen Dank für Eure Antworten!

    Da ich die Ausgabe leider nicht innerhalb der Schleife machen kann, habe ich mir, wie von Karl vorgeschlagen, eine Ableitung vom for-ViewHelper gemacht. Darin entferne ich die Daten am Anfang der Schleife und nicht am Ende, so dass ich nach dem Schleifendurchlauf auf die Variablen zugreifen kann.

    Viele Grüße
    Felicitas

  • harald1972 harald197...
    Sternenflotten-Admiral
    0 x
    198 Beiträge
    13 Hilfreiche Beiträge
    15. 07. 2013, 13:16

    [quote="KarlKappe"]
    Harald(1972) guckt bestimmt auch noch mal hier rein und kann da vielleicht noch mehr sagen 8-)
    [/quote]

    Danke für euer Vertrauen :)

    Nachdem meine grad mal 3Jahre alte Festplatte ihren Dienst quittiert hat (im Februar endete meine Garantie! ), hab ich mein System fast wieder soweit, wie es vorher mal war.

    Also ich hätte zuerst mal in die Richtung von LuP gedacht: isLast verwenden - das geht aber logischerweise nur innerhalb der Schleife.
    Wenn "innerhalb der Schleife" keine Option ist, hätte ich vermutlich auch einen eigenen VH geschrieben.

    Gruß, Harald

  • 1