我在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很新;)
答案 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>