2011-08-25 169 views
9

在Symfony2項目中,我有一個控制器,用於從數據庫中檢索許多事件。這些事件具有像start_time,stop_time,類型等屬性。在Symfony2中對模板進行排序:使用Twig按屬性對對象集合進行排序

在我看來,我想在一個表中顯示這些事件,按start_time排序。我使用Twig來模板。

我可以在將其傳遞給樹枝模板之前在我的控制器中進行預先排序,但是imho控制器不應該在意該視圖要排序。例如,也許我創建的另一個模板需要按類型排序。

現在,有沒有一種方法可以將事件對象的集合原樣添加到Twig模板中,然後讓它在現場爲我排序? 也許用'|排序「過濾器,但後來像'|財產(start_time)「過濾器,如果你知道我的意思:-)

任何意見,歡迎提前致謝!

Dieter

回答

2

futurecat是完全正確的:沒有辦法做到這一點即可。即使他的回答已被接受,我也加入完整性:

您可以使用snilius/twig-sort-by-field樹枝擴展,它將提供您需要的過濾器。

安裝它使用composer require snilius/twig-sort-by-field,並享受其sortbyfield過濾:

{% for item in base | sortbyfield('name') %} 
    {{ item.name }} 
{% endfor %} 
+1

我不能再嘗試自己了,但這確實看起來正是我當時所需要的。將此標記爲從現在開始的答案。感謝你和@futurecat! – Dieter

相關問題