section 的 limit 写成 3 后编辑器仍能加第四个
现象#
想让某个 section 在一页最多放三次,在 schema 里写了 "limit": 3,编辑器里照样能拖进第四个、第五个,前台也照常渲染。
原因#
limit只接受 1 和 2 两个值,其它数字直接失效,等同于不限制- limit 限制的是同一模板中该 section 的实例数,与限制区块数的
max_blocks作用对象不同 - 模板 JSON 中手工写入的多个实例不受编辑器 UI 约束,保存后仍会被渲染
- 把 limit 写在
presets或 blocks 元素内部,位置不对时被忽略
处理步骤#
- 把
"limit"改成 1 或 2,并确认它位于 schema 根级,与name、settings同级 - 需要限制区块总数时改用
max_blocks,限制单一类型区块数用 blocks 元素里的 limit - 检查 templates 下 JSON 是否已手工写入超过上限的实例,多余的删掉
- 运行
shopify theme check,确认没有 schema 取值类报错 - 回到编辑器再尝试添加,观察添加列表里该项是否置灰或提示已达上限
验收标准#
编辑器添加列表中该 section 不再可新增,模板内实例数不超过设定值。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。