【问题标题】:Get all shopify products filtered by a Tag using Liquid使用 Liquid 获取所有按标签过滤的 shopify 产品
【发布时间】:2016-02-23 17:58:51
【问题描述】:

是否可以使用 Liquid 通过一个标签(或一组标签)查询 shopify 中的所有产品。

我以为我可以通过循环遍历 collections.all.products 然后在循环中进行过滤,但后来意识到该集合的页面大小限制为 50。

【问题讨论】:

  • 分页的最大限制是 1000,而不是 50。
  • 据我所见,似乎没有在液体模板中返回 1000。是否有一个可选参数来指定它?无论哪种方式,您似乎都无法通过标签进行查询,只能通过集合名称进行查询。
  • {% paginate <array> by 1000 %}{% for .......... ... endfor %}{% endpaginate %}

标签: shopify liquid


【解决方案1】:

如果要显示在前端,Shopify 不支持上面 Hymnz 引用的分页技巧。

但是,即使查询仅限于 50 个产品,您也可以清楚地进行查询,然后使用分页。这样的东西可能会过滤产品列表:

{% for product in collections.all.products %}
{% if product.tags contains 'mytag' %}
Do something
{% endif %}
{% endfor %}

【讨论】:

  • 对不起。黑客确实有效。事实上,在 Shopify 液体中,最大递归处理可能需要多达 40,000 个循环。默认情况下,for 循环只有 50 个条目。
  • 嗨!我没有说它不起作用;)。但这对于前端显示(性能)来说是没有意义的,Shopify 不推荐。然后,它只有在你使用分页技巧时才有效。
  • 那么你应该怎么拉超过50,除非你使用API​​? OP 只询问是否使用液体代码?
猜你喜欢
  • 1970-01-01
  • 2020-09-28
  • 1970-01-01
  • 2023-02-26
  • 1970-01-01
  • 2019-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多