【问题标题】:Twig - How to loop particular number of timesTwig - 如何循环特定次数
【发布时间】:2014-12-05 18:43:21
【问题描述】:

我需要能够生成链接一定次数(存储在 int 变量中)有没有办法用 twig 的 for 循环开箱即用地做到这一点?

{% for i in numberOfLoops %}
    {{ i }}. Some data
{% endfor %}

上面的例子不起作用。我用谷歌搜索但没有找到实际的解决方案。任何支持将不胜感激。

编辑: 我也试过了:

{% set k = 10 %}
{% for i in 0..k %}
    {{ i }}
{% endfor %}

但这会产生异常:

com.lyncode.jtwig.exception.ParseException: Wrong binary operation syntax
Explanation: Input position (line 15, pos 27):
        {% for i in 0..k %}
                      ^

【问题讨论】:

    标签: loops for-loop twig


    【解决方案1】:

    我找到了工作示例:

    {% set k = 10 %}
    {% for i in range(1, k) %}
        {{ i }}
    {% endfor %}
    

    来源:http://twig.sensiolabs.org/doc/templates.html(确实不是很直观)。

    【讨论】:

    • 为什么不只是{% for i in range (1, 10) %}
    【解决方案2】:

    我已经有一个循环来迭代,我用切片过滤器自己解决了这个问题。

    {% for link in links|slice(0, 12) %}
    

    http://twig.sensiolabs.org/doc/tags/for.html#iterating-over-a-subset

    【讨论】:

      【解决方案3】:

      试试这个:

      {% set k = 10 %}
      {% for i in 0..k %}
          {{ i }}
      {% endfor %}
      

      文档:http://twig.sensiolabs.org/doc/tags/for.html

      【讨论】:

      • 不幸的是,这给出了一个错误:org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是 com.lyncode.jtwig.exception.ParseException: Wrong binary operation syntax 解释:输入位置(第 14 行,第 27 行):{% for i in 0..k %}
      • 这段代码在我的树枝模板中运行。也许您的项目中正在运行不同的版本。
      • 我明白了。你可能是对的,但无论如何对我来说它没有用。那么上面的解决方案(对你来说)呢?
      • 我猜这取决于你的 Twig 版本。该代码与我的模板完美配合。
      • 这总是至少循环一次。例如,如果k = 0,我不希望它循环。
      猜你喜欢
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      • 2015-01-15
      • 2015-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多