如何在使用现有for循环的Liquid模板中循环n次

时间:2012-10-28 22:16:57

标签: loops liquid

在ruby中我可以做n次,是否可以在Liquid标记中执行此操作?

我当前的循环是:对于site.posts中的视频,我的目标是运行此循环2次。目前有4个对象将通过循环调用,但我想要8.我希望这很清楚!

3 个答案:

答案 0 :(得分:12)

你应该能够使用带有范围的for循环(n是迭代次数):

{% for num in (1..n) %}

在Shopify Liquid的某些情况下,它也可以使用

{% for num in (1...n) %}

答案 1 :(得分:0)

如果像我这样你想拥有一个不基于集合长度或内置变量的动态数字,你可以使用包含和默认值捕获来创造奇迹

{% capture count %}{{include.count|default:16}}{% endcapture %}
{% for num in (1...count) %}
    {{num}}
{% endfor %}

答案 2 :(得分:0)

我在这里玩游戏已经很晚了,但是对于对此感到困惑的任何人,您可以这样做。

你接受其他答案所说的:

{% for num in (1..n) %}

然后你将它包裹在你的另一个 forloop 中。在site.post中对视频的原始请求循环2次,它会像这样循环

{% for i in (1..2) %}
  {% for video in site.posts %}
    Do your loop stuff here
  {% endloop %}
{% endfor %}

现在您可以控制原始循环遍历其总集的次数