settings_schema.json

settings_schema.json 文件控制的是 Theme settings(主题设置) 区域在主题编辑器中的组织方式和内容。主题编辑器中所有的设置选择都会保存在 settings_data.json 文件中。

位置

settings_schema.json 文件位于主题目录下的 config 文件夹中:

  1. └── theme
  2. ...
  3. ├── config
  4. ├── settings_data.json
  5. └── settings_schema.json
  6. └── locales

Schema(结构)

settings_schema.json 文件是一个对象数组,每个对象代表一个设置类别。每个对象必须包含以下属性:

属性 描述 是否必填
name 设置分类的名称。
settings 一个包含相关 settings(设置) 的数组。

settings_schema.json 文件应该遵循以下的基本格式:

  1. [
  2. {
  3. "name": "Category",
  4. "settings": [
  5. ...
  6. ]
  7. },
  8. ...
  9. ]

settings_schema.json 是一个 JSON 文件,所以内容必须是合法的 JSON 格式。此外,还要确保你使用的设置类型语法正确。

使用方式

在编辑 settings_schema.json 文件时,你需要熟悉以下几个部分:

Setting types(设置类型)

设置分为两类:

类别 描述
Input settings(输入设置) 可以保存值,允许应用用户配置的设置。
Sidebar settings(侧边栏设置) 不能保存值,也不允许应用用户配置。它们主要是提供信息,用来为输入设置添加说明和清晰度。

Access settings(访问设置)

主题设置可以通过 settings object(settings 对象) 来访问。想了解更多语法和注意事项,可以参考 Access settings

Add theme metadata(添加主题元数据)

作为主题作者,你可以在主题编辑器顶部工具栏左侧的 Theme actions(主题操作) 菜单中,添加关于主题的额外信息。

settings_schema.json - 图1

你可以通过在 settings_schema.json 文件中加入一个 theme_info 对象来添加这些元数据。这个对象必须包含以下属性:

属性 描述 是否必填
name 该属性的值必须为 theme_info
theme_name 主题的名称。
theme_author 主题的作者。
theme_version 主题的版本号。
theme_documentation_url 商家可以查看该主题文档的网址。
theme_support_email 商家可用于联系支持的邮箱地址。 见注释
theme_support_url 商家可以访问主题支持的网页链接。 见注释

注意

上面列出的属性都是必填项。但是,theme_support_emailtheme_support_url 只需要填写其中一个,不能两个都填。如果同时包含这两个属性,或者漏掉其他任何必填属性,都会导致出错。

例如:

  1. [
  2. {
  3. "name": "theme_info",
  4. "theme_name": "Dawn",
  5. "theme_author": "Shopify",
  6. "theme_version": "1.0.0",
  7. "theme_documentation_url": "https:\/\/help.shopify.com\/manual\/online-store\/themes\/os20\/themes-by-shopify\/dawn",
  8. "theme_support_url": "https:\/\/support.shopify.com\/"
  9. },
  10. ...
  11. ]