Zweig Sortieren, array von Objekten vom Feld
Ich habe Entität mit Feldern:
Benutzer
- Namen
- lastname
- Alter
und einige mehr. Im senden an Zweig-array mit Objekten Benutzer.
Im Zweig Benutzer angezeigt in der Tabelle:
{% for user in users %}
<td>{{ user.name }}<td> <td>{{ user.lastname}}<td> <td>{{ user.age}}<td>
{% endfor %}
Wie kann ich Sortieren, die Benutzer über name oder Nachname etc. in Twig. Ich will sortierbare Tabelle.
- Ich glaube nicht, dass es eine Aufgabe für Zweig. Sollten Sie Sortieren Sie diese im controller (oder das Modell, das vielleicht sogar noch besser), und übergeben Sie die bereits sortierte Liste zu Zweig.
- Ja. Dies ist nicht wirklich für die Vorlage. 1. Sie sagten, Sie haben zwei entity-Felder, was darauf hindeutet, hast du die Liste aus der Datenbank. Stellen Sie Ihre Sortierung in der Abfrage, wenn Sie die Anforderung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, Sie können fügen Sie benutzerdefinierte filter:
und dann Erweiterung hinzufügen/neuen filter auf Zweig:
new \Twig_SimpleFilter('usort', array($this, 'usortFilter'))
Illegal string offset 'orderNo'
wenn ich diesen code verwenden.orderNo
in Sie array.Sortierung in umgekehrter Reihenfolge:
Art und revers sind kombinierbar.
Müssen Sie dies in Ihrem Modell über ein "Order by" - Klausel. Allerdings, wenn Sie möchten, um eine Tabelle, die sortiert werden können, dynamisch, sollten Sie beobachten, über die jQuery-tablesorter-plugin (oder gleichwertig, wenn Sie nicht wollen, um jQuery verwenden).
http://tablesorter.com/docs/
Ist es nicht möglich, in der Zweig, der aus der box bestellen, indem Sie bestimmten Bereich.
Sie können Sortieren nach id mit PHP asort in ast, wäre die
|sort
filter, oder Sie können eine benutzerdefinierte twig-Erweiterung, die tut, was Sie brauchen.und revers der Bestellung über - |rückwärts-filter