Shopify Online Store 2.0

section 的 limit 写成 3 后编辑器仍能加第四个

现象#

想让某个 section 在一页最多放三次,在 schema 里写了 "limit": 3,编辑器里照样能拖进第四个、第五个,前台也照常渲染。

原因#

  • limit 只接受 1 和 2 两个值,其它数字直接失效,等同于不限制
  • limit 限制的是同一模板中该 section 的实例数,与限制区块数的 max_blocks 作用对象不同
  • 模板 JSON 中手工写入的多个实例不受编辑器 UI 约束,保存后仍会被渲染
  • 把 limit 写在 presets 或 blocks 元素内部,位置不对时被忽略

处理步骤#

  1. 把 "limit" 改成 1 或 2,并确认它位于 schema 根级,与 name、settings 同级
  2. 需要限制区块总数时改用 max_blocks,限制单一类型区块数用 blocks 元素里的 limit
  3. 检查 templates 下 JSON 是否已手工写入超过上限的实例,多余的删掉
  4. 运行 shopify theme check,确认没有 schema 取值类报错
  5. 回到编辑器再尝试添加,观察添加列表里该项是否置灰或提示已达上限

验收标准#

编辑器添加列表中该 section 不再可新增,模板内实例数不超过设定值。

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