You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过Shopify Admin API获取并更新店铺首页内容?

如何通过Shopify Admin API获取和更新首页内容

嘿,刚好我对这块很熟悉!首先得明确:Shopify的首页内容并不属于你之前操作的静态Page资源,它是由当前店铺启用的主题(Theme)来控制的,所以得换个API端点来操作。下面是具体步骤:

一、先搞清楚首页对应的主题文件

Shopify店铺的首页通常对应主题里的两类文件:

  • 核心首页模板:templates/index.liquid(默认首页模板)
  • 自定义首页模板:如果店铺设置了自定义首页(比如用了"首页"类型的页面并指定了模板),那对应的可能是templates/page.{handle}.liquid(比如templates/page.home.liquid

你可以先通过店铺后台确认一下当前首页用的是哪个模板:进入「在线商店」→「主题」→「自定义」,查看首页的模板设置。

二、获取启用中的主题ID

要操作主题文件,首先得拿到当前店铺启用状态的主题ID,用这个API请求:

GET /admin/api/2024-07/themes.json

返回的响应里,找到enabled: true的那个主题,提取它的id字段。

三、获取首页模板的内容

拿到主题ID后,就可以请求对应的首页模板内容了。如果是默认首页模板,请求如下:

GET /admin/api/2024-07/themes/{theme_id}/assets.json?asset[key]=templates/index.liquid

如果是自定义首页模板,把key换成对应的路径,比如templates/page.home.liquid

响应里的asset.value字段就是模板的原始代码(包含Liquid语法和HTML)。

四、更新首页内容

要修改首页,用PUT请求更新对应的主题asset即可。示例请求(以默认首页模板为例):

PUT /admin/api/2024-07/themes/{theme_id}/assets.json
Content-Type: application/json

{
  "asset": {
    "key": "templates/index.liquid",
    "value": "<p>这是更新后的首页内容,支持Liquid语法哦~</p>"
  }
}

注意:如果首页是由多个sections组件拼接而成的(比如主题用了模块化的sections),你可能需要单独更新sections/目录下的对应文件,比如sections/header.liquid或者sections/hero.liquid,具体要看主题的结构。

额外提醒

  • 尽量使用Shopify最新的API版本(比如2024-07),避免用你之前的2019-04旧版本,很多接口细节已经优化了。
  • 操作主题文件前建议先备份原始内容,避免误改导致店铺显示异常。
  • 如果店铺用了Shopify Online Store 2.0主题,首页可能用了「首页布局」和sections组合,这种情况下也可以通过Sections API来单独更新某个模块,但核心还是围绕主题assets操作。

内容的提问来源于stack exchange,提问作者Nisar Saiyed

火山引擎 最新活动