Shopify 模板提示 block 类型未定义怎么修
现象#
把旧主题的 settings_data.json 复制到新主题后前台白屏,后台提示某个 block 的 type 未在 schema 中定义。
原因#
- JSON 模板保留了旧主题的 block 实例,新主题的 section schema 里没有同名类型
- 换主题时只搬了 section 文件,没有搬它依赖的 block 定义
- block 的 type 拼写与 schema 中 blocks 数组里的 type 不一致
- 引用了应用注入的 app block,但当前主题没有安装对应应用
处理步骤#
- 在模板 JSON 中搜索报错里的 block id,定位它属于哪个 section 实例
- 打开该 section,核对
blocks数组里是否存在对应type - 不需要这个 block 时,删除整个 block 对象并同步修改
order数组 - 需要保留时把旧主题的 block 定义和设置一并复制过来
- 保存后刷新前台,再用
shopify theme check复查 JSON
验收标准#
模板保存成功、前台正常渲染;编辑器里该 section 的 block 列表不再出现未知类型,order 顺序与页面一致。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。