【问题标题】:Shopify - liquid : Collection returning empty all_products array on paginated pageShopify - 液体:在分页页面上返回空 all_products 数组的集合
【发布时间】:2018-10-05 00:56:10
【问题描述】:

我正在尝试加载 collection.all_products 表达式以在集合页面上加载集合的所有产品,但我遇到了分页问题。

我想加载一个集合包含的所有产品。所以,我使用分页来设置它应该加载多少产品的限制,否则它只会加载 50 个产品。

我正在使用以下表达式来设置分页产品限制:

{% paginate collection.all_products by collection.all_products_count %}

期望 collection.all_products 应该包含所有产品。

表达式按预期工作,即在集合的第一页上返回所有产品的数组,但是当我切换到集合的不同分页页面时,它返回 all_products 的空数组。

我注意到的一件事是,在分页页面上,collection.all_products_count 仍然返回正确的数字,但 collection.all_products 是空的。

如果有人遇到过类似的问题并且知道在不同页面上加载集合的所有产品的解决方法,请告诉我。

提前致谢。

PS:我正在使用 Debut 主题。

【问题讨论】:

  • 出于好奇,集合中有多少产品,pagination_by 设置为多少?
  • 你好 Dave,收藏最多有 250 种产品。主题设置设置为 16 个产品分页。

标签: shopify liquid


【解决方案1】:

all_products首先是集合对象的方法吗?根据Shopify's documentation on collection,调用的方法是collection.products

https://help.shopify.com/themes/liquid/tags/theme-tags#paginate

可以解释为什么collection.all_products 是空的。

【讨论】:

  • 你好@mdlanglais,如果我分页,collection.all_products 返回空结果,否则它包含该集合的 50 个产品。不过,我找到了解决我所面临问题的方法。
  • 不,@mdlangais 是对的 - 当你应该分页 collection.products 时,你正在分页 collection.all_products - 很好!正确的语法是 {% paginate collection.products by ### %}(其中 ### 将替换为数字或表示数字的液体变量)
  • 谢谢@Dave B
猜你喜欢
  • 1970-01-01
  • 2019-12-08
  • 1970-01-01
  • 1970-01-01
  • 2016-02-25
  • 1970-01-01
  • 1970-01-01
  • 2014-12-17
  • 1970-01-01
相关资源
最近更新 更多