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 且不报错
处理步骤#
- 把可拖拽内容的 schema 改为
"target": "section" - 全站脚本另建 embed.liquid,schema 用
"target": "body" - 两个文件都补上
name与settings,保证 JSON 可解析 - 执行
shopify app deploy,分别查看应用区块与 App Embeds - 在根元素输出
{{ block.shopify_attributes }},让编辑器能选中
验收标准#
应用区块列表出现该 block 且能拖入 section,App Embeds 里同时出现另一个开关。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。