[Frage] Viewhelper Array (nach Name) sortieren [Gelöst]

  • imberg imberg
    Padawan
    0 x
    48 Beiträge
    0 Hilfreiche Beiträge
    18. 11. 2014, 12:54

    Hallo,

    ich habe in eine Template folgendes stehen:

    1. <f:for each="{kunden}" as="kunde">
    2. <tr>
    3. <f:for each="{myext:misc.explode(string:'{settings.list.fields}')}" as="field">
    4. <f:render partial="Kunde/List/{myext:misc.upper(string:'{field}')}" arguments="{_all}" />
    5. </f:for>
    6. </tr>
    7. </f:for>

    (Wie) kann ich das Array "kunden" vor der Ausgabe z.B. nach Name (kunden["name"]) sortieren?

    Ich habe schon einiges im Forum gefunden, kriegs aber nicht hin.

    Die Einträge sind erst mal alle nach ID sortiert.

    Grüße

  • imberg imberg
    Padawan
    0 x
    48 Beiträge
    0 Hilfreiche Beiträge
    18. 11. 2014, 13:24 - Lösung

    Nach einigem rumprobieren habe ich es jetzt tatsächlich hinbekommen. Hier meine Lösung:

    1. {namespace v=FluidTYPO3\Vhs\ViewHelpers}
    2.  
    3. [...]
    4.  
    5. <f:for each="{kunden->v:iterator.sort(order: 'ASC', sortBy: 'name')}" as="kunde">
    6. <tr>
    7. <f:for each="{myext:misc.explode(string:'{settings.list.fields}')}" as="field">
    8. <f:render partial="Kunde/List/{myext:misc.upper(string:'{field}')}" arguments="{_all}" />
    9. </f:for>
    10. </tr>
    11. </f:for>
    12.  
    13. [...]


  • 1
  • toifel toifel
    Jedi-Ratsmitglied
    0 x
    831 Beiträge
    96 Hilfreiche Beiträge
    18. 11. 2014, 12:58

    Schau dir mal die Extension "vhs" an, dort gibt es einen ViewHelper zum sortieren:
    https://fluidtypo3.org/viewhelpers/vhs/master/Iterator/SortViewHelper.html

  • imberg imberg
    Padawan
    0 x
    48 Beiträge
    0 Hilfreiche Beiträge
    18. 11. 2014, 13:24

    Nach einigem rumprobieren habe ich es jetzt tatsächlich hinbekommen. Hier meine Lösung:

    1. {namespace v=FluidTYPO3\Vhs\ViewHelpers}
    2.  
    3. [...]
    4.  
    5. <f:for each="{kunden->v:iterator.sort(order: 'ASC', sortBy: 'name')}" as="kunde">
    6. <tr>
    7. <f:for each="{myext:misc.explode(string:'{settings.list.fields}')}" as="field">
    8. <f:render partial="Kunde/List/{myext:misc.upper(string:'{field}')}" arguments="{_all}" />
    9. </f:for>
    10. </tr>
    11. </f:for>
    12.  
    13. [...]

  • 1