Shopify 应用与扩展

app block 的 target 写成 body 为什么不显示

现象#

在 app block 的 schema 写了 "target": "body",部署后主题编辑器的「应用区块」里找不到它,只在 App Embeds 列表出现一个开关。

原因#

  • target 决定挂载位置,只有 section 才能成为可拖拽的 app block
  • body 与 head 属于 app embed,只能整页开关,不能放在 section 内部
  • 一个 liquid 文件只能声明一种 target,两种用途必须拆成两个文件
  • schema 缺 name 或 JSON 不合法时,CLI 会跳过该 block 且不报错

处理步骤#

  1. 把可拖拽内容的 schema 改为 "target": "section"
  2. 全站脚本另建 embed.liquid,schema 用 "target": "body"
  3. 两个文件都补上 name 与 settings,保证 JSON 可解析
  4. 执行 shopify app deploy,分别查看应用区块与 App Embeds
  5. 在根元素输出 {{ block.shopify_attributes }},让编辑器能选中

验收标准#

应用区块列表出现该 block 且能拖入 section,App Embeds 里同时出现另一个开关。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。