根据随机范围打印 Twig 变量 x 次

Print Twig variable x times based upon randomized range

我正在为 WordPress 项目使用 Twig 和 Timber。我的模板中有以下循环,将自定义 post 类型的标题打印到 HTML 结构中。

{% for company in companies %}

  {% set dot = "<div class='company-dot'></div>" %}
  {% set range = range(10, 20) %}

  {{dot}}
  {{random(range)}}

  <div class="company">
    <div class="company-dot dot-active"></div>
    <p class="dot-caption">{{ company.title }}</p>
  </div>

{% endfor %}

我想根据 {{random(range)}} 生成的数字打印我的 {{dot}} 变量 x 次。我该怎么做?

最简单的解决方案是使用 for 循环迭代 random(range) 次:

{% for i in 0..random(range(10, 20)) %}
    {{ dot }}
{% endfor %}

我不太了解 Twig,但我猜你可以执行以下操作:

{% for i in random(range) %}
  {{dot}}
{% endfor %}

您已经知道如何使用range,只需再次使用它:

 {% set dots_count = random(range) %}
 {% for dot_index in range(1,dots_count) %}
    {{dot}}
 {% endfor %}

 {{dots_count}}

这是一个 fiddle : https://twigfiddle.com/ko595z