在模板中排序,在 Symfony2 中:使用 Twig 按属性对对象集合进行排序

2024-03-14

在 Symfony2 项目中,我有一个控制器,可以从数据库中检索许多事件。这些事件具有 start_time、stop_time、type 等属性。

在我看来,我想在表格中显示这些事件,并按开始时间排序。我使用 Twig 作为模板。

我可以在将控制器传递给 Twig 模板之前对其进行预排序,但恕我直言,控制器不应该关心视图想要对其进行排序。例如,我创建的另一个模板可能希望它按类型排序。

现在,有没有一种方法可以让我将事件对象集合按原样提供给 Twig 模板,并让它当场为我排序? 也许带有 '| sort' 过滤器,但然后使用类似 '| property(start_time)' 过滤器在它前面,如果你明白我的意思:-)

欢迎任何建议,提前致谢!

Dieter


Twig 无法按属性对数组进行排序。你仍然拥有sort过滤器(此处描述:http://twig.sensiolabs.org/doc/filters/sort.html http://twig.sensiolabs.org/doc/filters/sort.html)但它只会像 php 那样对数组进行排序sort功能。

您可以做的是创建一个 TwigExtension 并实现您自己的过滤器。这非常简单,并且有很好的文档记录:http://twig.sensiolabs.org/doc/advanced.html http://twig.sensiolabs.org/doc/advanced.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在模板中排序,在 Symfony2 中:使用 Twig 按属性对对象集合进行排序 的相关文章

随机推荐