Shopify 主题与 Liquid

Shopify 模板提示 block 类型未定义怎么修

现象#

把旧主题的 settings_data.json 复制到新主题后前台白屏,后台提示某个 block 的 type 未在 schema 中定义。

原因#

  • JSON 模板保留了旧主题的 block 实例,新主题的 section schema 里没有同名类型
  • 换主题时只搬了 section 文件,没有搬它依赖的 block 定义
  • block 的 type 拼写与 schema 中 blocks 数组里的 type 不一致
  • 引用了应用注入的 app block,但当前主题没有安装对应应用

处理步骤#

  1. 在模板 JSON 中搜索报错里的 block id,定位它属于哪个 section 实例
  2. 打开该 section,核对 blocks 数组里是否存在对应 type
  3. 不需要这个 block 时,删除整个 block 对象并同步修改 order 数组
  4. 需要保留时把旧主题的 block 定义和设置一并复制过来
  5. 保存后刷新前台,再用 shopify theme check 复查 JSON

验收标准#

模板保存成功、前台正常渲染;编辑器里该 section 的 block 列表不再出现未知类型,order 顺序与页面一致。

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