液体控制流标签 {% for %} 和 {% else %}
Liquid control flow tags {% for %} and {% else %}
对于在 Shopify 主题中使用 liquid 还是个新手,并且在某些方面缺少文档,所以我处于 "learn as you go" 模式,并且我正在从头开始重建 Shopify 的 Simple 主题作为学习工具。我在 collection-template.liquid:
中发现了这段代码
1 {% for product in collection.products %}
2 {% if collection.products.size == 1 %}
3 <!-- Template Logic -->
4 {% else %}
5 <!-- Template Logic -->
6 {% endif %}
7
8 {% include 'product-grid-item' %}
9
10 {% else %} <!-- HANGING ELSE STATEMENT? -->
11
12 <!-- Template Logic -->
13
14 {% if shop.products_count == 0 and collection.handle == 'all' %}
15 <!-- Template Logic -->
16 {% else %}
17 <!-- Template Logic -->
18 {% endif %}
19 {% endfor %}
来自 Java 背景,第 10 行看起来像是一个编译错误。这是一个 else
语句,没有开头 if
.
但是,根据上下文线索,我想知道 {% else %}
是否像 if (empty)
,这意味着上面的代码片段在功能上等同于:
{% if collection.products.size == 0 %}
<!-- Line 11-18 from above snippet -->
{% else %}
{% for product in collection.products %}
<!-- Line 2-9 from above snippet -->
{% endfor %}
{% endif %}
有人可以证实吗?
这是 for 循环使用的集合长度为零的情况的回退。参见 https://help.shopify.com/themes/liquid/tags/iteration-tags#else
对于在 Shopify 主题中使用 liquid 还是个新手,并且在某些方面缺少文档,所以我处于 "learn as you go" 模式,并且我正在从头开始重建 Shopify 的 Simple 主题作为学习工具。我在 collection-template.liquid:
中发现了这段代码1 {% for product in collection.products %}
2 {% if collection.products.size == 1 %}
3 <!-- Template Logic -->
4 {% else %}
5 <!-- Template Logic -->
6 {% endif %}
7
8 {% include 'product-grid-item' %}
9
10 {% else %} <!-- HANGING ELSE STATEMENT? -->
11
12 <!-- Template Logic -->
13
14 {% if shop.products_count == 0 and collection.handle == 'all' %}
15 <!-- Template Logic -->
16 {% else %}
17 <!-- Template Logic -->
18 {% endif %}
19 {% endfor %}
来自 Java 背景,第 10 行看起来像是一个编译错误。这是一个 else
语句,没有开头 if
.
但是,根据上下文线索,我想知道 {% else %}
是否像 if (empty)
,这意味着上面的代码片段在功能上等同于:
{% if collection.products.size == 0 %}
<!-- Line 11-18 from above snippet -->
{% else %}
{% for product in collection.products %}
<!-- Line 2-9 from above snippet -->
{% endfor %}
{% endif %}
有人可以证实吗?
这是 for 循环使用的集合长度为零的情况的回退。参见 https://help.shopify.com/themes/liquid/tags/iteration-tags#else