每日整理真实提问 356 个问题 · 726 个回答 需要系统性的技术文档?看 Shopify 技术百科 1000 篇 → 400-873-8117
待解决 提问于 1 个月前

自定义 section 保存时提示 schema 无效,但 JSON 看起来没问题

2 个回答 4,131 次浏览 主题与 Liquid 最后活跃 1 个月前
75

在 section 里加了 {% schema %} 后保存失败,提示 schema 格式错误。把 JSON 贴进校验工具是合法的,反复检查括号也没发现问题。

L
Lily提问者
DTC 品牌独立站运营负责人
1 个月前提问 · 已收到 2 个回答

2 个回答

最高票回答 · 等待提问者确认
44

先把判断放在前面:{% schema %} 里不允许出现 Liquid 标签和注释,也不允许尾逗号;很多编辑器会把 JSON 里的中文全角引号、不可见空格一起带进去。

1处理顺序

  1. 确认 {% schema %} 内没有任何 {{ }} 或 {% %},schema 必须是纯静态 JSON。
  2. 用 JSON 校验工具跑一遍,重点看尾逗号和字符串里的全角引号,这两类错误肉眼最难发现。
  3. 检查 settings 数组里每个字段的 type 是否为合法类型,写错类型(例如把 text 写成 string)会整段报错。
  4. 确认 presets 里的 name 和 category 没有多余字段,presets 只接受 name 和 category。
  5. 把 schema 单独存成 .json 文件校验通过后再贴回 section,避免边改边存。
验收:主题编辑器能保存该 section,并且在「添加 section」列表里能看到它。
风 风格技术团队 回答于 1 个月前
15

提醒一句:{% schema %} 里的 default 值类型要和 type 一致,range 的 default 必须是数字而不是字符串,这个错不会报 schema invalid,但会让编辑器里的控件显示异常。

泽 阿泽 · 前端工程师 · 1 个月前

你的处理方式是什么?

写下你实际验证过的步骤,比「我也有这个问题」有用得多。当前版本为静态展示,提交后会由团队整理并回复。

描述你遇到的现象、店铺环境(主题 / 套餐 / 应用)、已经试过哪些操作……
我要单独提问 工作日 10 分钟内回复,可直接加微信 fenggejishu