📅  最后修改于: 2023-12-03 15:23:19.293000             🧑  作者: Mango
在 Shopify 中,我们通常会使用循环来遍历基于主题的设置中的数据,如商品列表和选项卡。有时,我们需要在循环内嵌套另一个循环或其他操作,以便获得更多的数据或展示更复杂的布局。本文将介绍如何在 Shopify 中的循环内继续。
如果我们需要对每个主题设置内的商品列表进行分类,我们可以使用嵌套循环来完成。在外层循环中,我们可以获取商品类别,并在内层循环中遍历属于该类别的所有商品。以下是一个示例代码片段:
{% for category in settings.product_categories %}
<h2>{{ category.name }}</h2>
<ul>
{% for product in products %}
{% if product.type == category.name %}
<li>{{ product.title }}</li>
{% endif %}
{% endfor %}
</ul>
{% endfor %}
在此示例中,我们遍历 settings.product_categories
中的所有类别,并在每个类别下,遍历所有具有相应类别名称的商品。请注意,内层循环使用了 if
条件语句来检查商品的类别名称是否与当前类别相同。
除了嵌套循环之外,我们还可以使用过滤器来筛选循环内的数据。例如,我们可以仅显示价格高于 $50 的商品,如下所示:
{% for product in products %}
{% if product.price > 50 %}
<h4>{{ product.title }}</h4>
<p>Price: {{ product.price | money }}</p>
{% endif %}
{% endfor %}
在此示例中,我们使用了 if
条件语句来检查 product.price
是否大于 50。请注意,我们还使用了 money
过滤器来格式化价格。
有时,我们需要在循环内使用计数器,以便在模板中显示行号或列号。在 Shopify 中,我们可以使用循环变量和内置循环计数器来实现这一点。以下是一个示例代码片段:
{% for product in products %}
<p>Product {{ forloop.index }}: {{ product.title }}</p>
{% endfor %}
在此示例中,我们使用 forloop.index
变量来获取当前循环的索引号。请注意,我们将其嵌入到字符串中,以便在输出中将其包含。
在 Shopify 中的循环内继续通常需要使用嵌套循环、筛选器和计数器等操作。但是,我们应该避免在循环内执行过多的操作,以保持页面的性能。希望本文可以帮助你更好地使用 Shopify 主题设置中的数据。