Shopify presets 与 default 哪个优先级更高
现象#
给设置写了 default,从「添加分区」插入同一个 section 后文本却是空的;而首页 JSON 里预置的那份反而有内容。
原因#
- presets 决定从编辑器添加分区时的初始值,default 只在没有已存配置时兜底
- JSON 模板里已写入的值优先级最高,改 schema 的 default 不会覆盖它
- presets 中没有声明 settings 时,新添加的实例所有字段都为空
- 同一个 section 已在 index.json 中存在实例,再次添加会新建一份而不是复用
处理步骤#
- 需要「添加即有内容」时,把初值写进
presets[0].settings,不要只写 default - 已有模板要补值,直接改
templates/index.json里对应实例的 settings - 改完 default 后先删除预览主题里的旧实例,再重新添加验证
- 用
shopify theme pull拉下 JSON,核对实例值是否覆盖了默认值 - 保存后对比「添加分区」新实例与已有实例的字段,确认两者互不影响
验收标准#
从「添加分区」新插入的 section 直接带默认文案;已有首页实例保持 JSON 中的值,修改 schema 后不被动改。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。