如何使Shopify排序博客帖子从最旧到最新?
现在最新的帖子在最上面。讲述故事的博客不起作用。自然,您必须从乞讨中读一个故事。
其他一些博客必须按默认顺序排序-从最新到较旧。即最新的顶部。
问:如何对某些博客进行Old first排序?
这取决于博客文章的数量。
有3种方法。
您可以覆盖文章分页并反转循环。
例:
{% paginate blog.articles by 9999 %}
{% for article in blog.articles reversed %}
...
{% endfor %}
{% endpaginate %}
文章数量越大,DOM加载速度就越慢。
因此,如果您有1000多篇文章,这不是一个好的解决方案。
您可以注册一个私有应用程序,仅设置Store content like articles, blogs, comments, pages, and redirects
为“读取” 权限,并且所有内容都将被禁用。
然后,您将需要请求以下URL :(https://API_KEY:API_PASS@STORE.myshopify.com/admin/api/2020-01/blogs/BLOG_ID/articles.json?limit=250
如果您的文章超过250条,则需要乘以倍)
并反转结果数组。
如果您有很多文章,则此解决方案也不是很好。
最好的方法是在此处使用StoreFront GraphQL API,在这里可以反转结果。
查询示例:
{
blogByHandle(handle:"news"){
articles(first: 50, reverse: true){
edges {
node {
title
}
}
}
}
}
这样,您将保持分页完整(因为GraphQL返回可用于分页的Cursor),并且您将请求保持最少。
很高兴知道,所有这些选项。谢谢。目前对我有好处1。我看到分页有局限性吗?现在,我将创建一个单独的博客作为主题,因此不会有太多的故事文章。
另外,我相信我可以附加条件什么博客来排序什么不是。按名字。
@ses,您可以创建单独的模板(例如)
blog.sort.liquid
,然后仅通过在URL末尾添加view参数来切换到该模板。实例/blogs/news?view=sort
。是的,第一个会出现分页问题,但是您可以使用一些Javascript克服它。