我已经可以做的是:
{% for _item in objects %}
{{ _item.id }}
{% endfor %}
或者这个:
{% for i in 0..objects|length-1 %}
{{ objects[i].id }}
{% endfor %}
循环整个数组。
我想做的是:
有点像这样 - 取决于哪个更小(想象只有5个项目):
{% for i in 0.. (10 OR objects|length-1) %}
{{ objects[i].id }}
{% endfor %}
最简单/最短的写作方式是什么?
修改
当然,我可以在我的控制器中测试它,然后将结果作为变量传递给模板,但是不是更方便吗?
答案 0 :(得分:4)
您正在寻找slice过滤器。
答案 1 :(得分:0)
为将来可能需要的人发布信息。
我使用以下slice方法完成了此任务,以获取数组的一半,然后获取另一半。我需要它来为数组的前半部分设置一个类,而不管其数量如何(在我的情况下是nav子项目)。请记住根据需要更新Array
{% set half_first = Array|slice(0, Array|length / 2) %}
{% set half_second = Array|slice(Array|length / 2) %}