从店面上的Shopify获得博客Json,可能还会通过标签从过滤获得博客Json [英] Getting Blog JSON from Shopify on storefront and possibly filter by tag

查看:12
本文介绍了从店面上的Shopify获得博客Json,可能还会通过标签从过滤获得博客Json的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要从我的店面获取JSON格式的博客文章,因为您在任何单个页面请求中可以获取的文章数量限制为50篇。奖金将是能够过滤基于标签的文章。

可以通过Ajax API从Shopify店面获取JSON,但仅限于productscart。我知道您可以为其他所有内容创建备用模板,但如何为博客创建该模板?

我试过了,但不起作用:

https://domain.myshopify.com/admin/blogs/blog_id/articles.json

推荐答案

您谈论的是店面,但您提供的是管理员API URL。如果不使用GraphQL或睡觉API,您无法从店面请求管理员!

液体方式

如果您不覆盖店面上的分页,则您的文章限制为50篇。

但是如果您覆盖它,您可以想要多少就得到多少。(请记住,文章池越大,加载DOM的时间就越长)

示例:

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

  {% endfor %}
{% endpaginate %}

您可以创建单独的博客模板并使用Ajax请求它,还可以将标记添加到末尾。

因此,如果您创建名为blog.ajax.liquid的博客模板,您的请求将类似于:/blogs/news/tagged/featured?view=ajax,它将返回由标记featured筛选的新模板的html。


GraphQL方式

另一种方法是使用Storefront GraphQL来获取文章。

您需要创建私人应用并允许Read content like articles, blogs, and comments才能使用此应用。

查询示例:

{
  blogByHandle(handle:"news"){
    articles(first: 50, query:"tag:featured") {
      edges {
        node {
          title
        }
      }
    }
  }
}

这将返回50篇文章标题,其中有一个名为featured的标记,您当然可以添加更多希望查询返回的字段。

睡觉接口

另一种方式是使用睡觉接口

您仍然需要创建私人应用程序,但您必须只允许博客&;文章阅读权限,不允许写入权限。此外,应该禁用所有其他权限,以便您不允许其他人修改您的存储数据。

Ajax URL如下所示:https://API_KEY:API_PASSWORD@YOUR_STORE.myshopify.com/admin/api/2020-01/blogs/BLOG_ID/articles.json?tag=featured

我不推荐使用此方法,但它仍然有效。


您可以从那里选择要走的路。

这篇关于从店面上的Shopify获得博客Json,可能还会通过标签从过滤获得博客Json的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆