📜  在 shopify 中的循环内继续 (1)

📅  最后修改于: 2023-12-03 15:23:19.293000             🧑  作者: Mango

在 Shopify 中的循环内继续

在 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 主题设置中的数据。