区块 type 没在 section schema 声明导致不输出
现象#
模板 JSON 的 blocks 里写了 "type": "richtext",前台这段文字完全不出现,编辑器侧栏该区块显示为灰色,点开也没有设置项。
原因#
- section 只渲染 schema 的 blocks 数组中声明过的 type,未声明的按未知类型跳过
- Liquid 里用
{% case block.type %}分支输出,拼写不一致时没有任何分支命中 - 从别的主题搬配置时命名风格不同,
rich-text与richtext只认声明过的那个 - type 允许自由命名,但没有声明就没有 name、settings 与预设,编辑器无法展示
处理步骤#
- 打开对应 section 文件,逐个核对其
blocks数组里 type 的拼写 - 把模板中的
"type"改成与 schema 完全一致的值,包括连字符位置 - 在 Liquid 的 case 分支里补上同一个 type,确认有对应输出
- 编辑器里删掉该区块再重新添加,让正确 type 写回 JSON
- 区块来自应用时使用完整标识
shopify://apps/应用名/blocks/名称,不要手写短名
验收标准#
该区块在前台正常输出,编辑器侧栏显示声明的区块名,设置项可展开编辑。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。