【问题标题】:Shopify - sort blog Posts from oldest to newest - old post firstShopify - 将博客帖子从最旧到最新排序 - 首先是旧帖子
【发布时间】:2020-02-03 15:50:17
【问题描述】:

如何让 Shopify 将博客文章从最旧到最新排序?

现在最新的帖子在顶部。它不适用于讲述故事的博客。当然,你必须从乞讨者那里读到一个故事。

其他一些博客必须按默认顺序排序 - 从最新到旧。 IE。最新的顶部。

问:如何对部分博客进行 Old 优先排序?

【问题讨论】:

标签: sorting shopify blogs


【解决方案1】:

这取决于博客文章的数量。

有 3 种方法。


液体方式

您可以覆盖文章分页并反转循环。

例子:

{% paginate blog.articles by 9999 %}
  {% for article in blog.articles reversed  %}
     ...
  {% endfor %}
{% endpaginate %}

文章数量越大,DOM加载速度越慢。

因此,如果您有 1000 多篇文章,这不是一个好的解决方案。

REST API

您可以注册一个私有应用程序,并且只设置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 篇文章,请乘以)

并反转结果数组。

如果你有很多文章,这个解决方案又不是很好。

GraphQL

最好的方法是在此处使用 StoreFront GraphQL API,您可以在此处反转结果。

查询示例:

{
    blogByHandle(handle:"news"){
    articles(first: 50, reverse: true){
      edges {
        node {
          title
        }
      }
    }
  }
}

这样,您将保持分页完好无损(因为 GraphQL 返回可用于分页的 Cursor),并且您将请求保持在最低限度。

【讨论】:

  • 很高兴知道所有这些选项。谢谢。 1现在对我有好处。我看到它对分页有限制?现在我将创建一个单独的博客作为主题,因此不会有太多故事文章。
  • 另外,我相信我可以附加条件什么博客来排序什么不。按名称。
  • @ses 您可以创建单独的模板,例如称为 blog.sort.liquid 并仅通过将 view 参数添加到 URL 的末尾来切换到它。示例/blogs/news?view=sort。是的,第一个会有分页问题,​​但你可以用一些 Javascript 来解决这个问题。
【解决方案2】:

我实际上已经制作了一个应用程序,可以将博客拖放到您想要的位置。这是 Shopify 应用的链接:Article Organizer Pro

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 2016-08-26
    相关资源
    最近更新 更多