【问题标题】:How to get the second element in a for loop如何在for循环中获取第二个元素
【发布时间】:2014-05-26 21:45:15
【问题描述】:

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

假设我有一个名为“图像”的模板。在该模板中,我有一个这样的 for 循环:

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

在另一个模板中,我试图包含这个“图像”模板。所以我有的是这样的:

{% include 'images.html' %}

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

所以我想要这样的东西:

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

有谁知道最好的方法是什么,或者你是如何做到的?如您所见,我对 Twig 很陌生;)

【问题讨论】:

    标签: loops for-loop twig


    【解决方案1】:

    你几乎已经找到答案了!

    使用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>
    

    如果你想做一些“详细”的事情,比如if key&lt;elementNumber,这个语法很有用

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

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

    【讨论】:

    • 谢谢这完美的工作。今天学到了新东西!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-22
    • 2018-08-13
    • 2018-08-13
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多