Shopify Online Store 2.0

range 的 default 写成字符串导致滑块停在最左端

现象#

给 range 设置写了 "default": "40",编辑器滑块停在最小值,前台间距变成 0;checkbox 写成字符串 true 后永远处于勾选状态。

原因#

  • schema 按 setting type 校验 default,字符串不会被转成数字,range 取值回落到 min
  • checkbox 只认 JSON 布尔值,字符串 false 在 Liquid 中属于真值,条件恒成立
  • Liquid 做 plus、times 运算时,字符串被当作 0 参与计算
  • 复制配置片段时保留了引号,数字被引号包住,肉眼很难发现

处理步骤#

  1. 改成不带引号的数字:"default": 40,同时确认 min、max、step 都是数字
  2. 布尔类设置用 "default": true 或 false,不要加引号
  3. 输出前做一次类型兜底:{{ section.settings.gap | plus: 0 }}
  4. 搜索文件里 "default": " 后紧跟数字的写法,逐个核对
  5. 在编辑器拖动滑块并保存,确认写回模板 JSON 的是数字而不是字符串

验收标准#

滑块初始位置与 default 一致,前台 style 输出为数字带单位,不再是空值或 0。

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