如何获取for循环中的第二个元素

时间:2014-05-26 12:12:33

标签: loops for-loop twig

我在Twig中有一个for循环。我试图访问for循环中的不同元素,以便我可以在我的网站上的不同位置使用它们。

我想说我有一个名为' images'的模板。在该模板中,我有一个像这样的for循环:

{% for image in images %}
<div>
  <img src="{{ image | url_image }}" width="100" height="100" />
</div>
{% endfor %}

在另一个模板中,我试图将这些&#39;图像包含在内。模板。所以我拥有的是:

{% include 'images.html' %}

我现在面临的问题是我只想在images.html模板中使用for循环中的第二个元素。你是怎么做到的?

所以我想要这样的事情:

<div>
{% include 'images.html' with {'second element'} only %}
</div>

有谁知道最好的方法是什么,或者你是如何做到的?你可以看到,我对Twig很新;)

1 个答案:

答案 0 :(得分:2)

你几乎已经找到了答案!

使用for with condition语法:

{% for key,image in images if key==elementNumber %}
<div>
  <img src="{{ image | url_image }}" width="100" height="100" />
</div>
{% endfor %}

并使用您需要的参数值调用模板(请记住key从0开始,因此下面的示例将为您提供第二个元素):

<div>
{% include 'images.html' with {elementNumber: 1} %}
</div>

如果你想做一些&#34;详细说明&#34;这个语法非常有用。像if key<elementNumber

这样的东西

但是如果你一次只需要一个元素,这可能会更好,而不是for循环:

<div>
  <img src="{{ images[elementNumber] | url_image }}" width="100" height="100" />
</div>