Shopify 主题与 Liquid

Shopify presets 与 default 哪个优先级更高

现象#

给设置写了 default,从「添加分区」插入同一个 section 后文本却是空的;而首页 JSON 里预置的那份反而有内容。

原因#

  • presets 决定从编辑器添加分区时的初始值,default 只在没有已存配置时兜底
  • JSON 模板里已写入的值优先级最高,改 schema 的 default 不会覆盖它
  • presets 中没有声明 settings 时,新添加的实例所有字段都为空
  • 同一个 section 已在 index.json 中存在实例,再次添加会新建一份而不是复用

处理步骤#

  1. 需要「添加即有内容」时,把初值写进 presets[0].settings,不要只写 default
  2. 已有模板要补值,直接改 templates/index.json 里对应实例的 settings
  3. 改完 default 后先删除预览主题里的旧实例,再重新添加验证
  4. 用 shopify theme pull 拉下 JSON,核对实例值是否覆盖了默认值
  5. 保存后对比「添加分区」新实例与已有实例的字段,确认两者互不影响

验收标准#

从「添加分区」新插入的 section 直接带默认文案;已有首页实例保持 JSON 中的值,修改 schema 后不被动改。

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