我有一个shopify博客,里面有超过150篇文章
{% assign countItem = 0 %}
{% for article in blogs.recipes.articles %}
{% if countItem < 3 %}
{% if article.tags contains product.title %}
{% assign countItem = countItem | plus: 1 %}
<li class="article">
<a href="{{ article.url }}">
<img src="{{ article | img_url: 'grande' }}" alt="{{ article.title }}" />
<span class="title">{{ article.title }}</span>
</a>
</li>
{% endif %}
{% endif %}
{% endfor %}
但是blogs.recipes.articles
只返回50。
有任何方法可以消除此限制吗?
答案 0 :(得分:1)
Shopify将结果限制为50,以平衡服务器负载。根据shopify文档。
不要将一个集合分页超过50个,这是每页最多可查询的产品数量。尊重Shopify的应用服务器。如果您没有使用任何分页标签,分页会在场景后面开始,您将只收到所述集合中的前50个产品。
但是我尝试使用paginate标签加载50多种产品。但这会减慢页面加载速度,如果记录数量很大,页面也可能无响应。你可以尝试如下: -
{% paginate blogs.recipes.articles by 500 %}
{% assign countItem = 0 %}
{% for article in blogs.recipes.articles %}
{% if countItem < 3 %}
{% if article.tags contains product.title %}
{% assign countItem = countItem | plus: 1 %}
<li class="article">
<a href="{{ article.url }}">
<img src="{{ article | img_url: 'grande' }}" alt="{{ article.title }}" />
<span class="title">{{ article.title }}</span>
</a>
</li>
{% endif %}
{% endif %}
{% endfor %}
{% endpaginate %}