10

在 ruby​​ 中我可以做 n.times,是否可以在 Liquid 标记中做到这一点?

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

4

3 回答 3

18

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

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

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

{% for num in (1...n) %}
于 2012-10-28T22:22:36.960 回答
3

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

{% capture count %}{{include.count|default:16}}{% endcapture %}
{% for num in (1...count) %}
    {{num}}
{% endfor %}
于 2017-02-23T14:08:33.937 回答
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 %}

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

于 2021-07-26T16:49:07.097 回答