settings_schema.json
settings_schema.json
文件控制的是 Theme settings(主题设置) 区域在主题编辑器中的组织方式和内容。主题编辑器中所有的设置选择都会保存在 settings_data.json 文件中。
位置
settings_schema.json
文件位于主题目录下的 config
文件夹中:
└── theme
...
├── config
├── settings_data.json
└── settings_schema.json
└── locales
Schema(结构)
settings_schema.json
文件是一个对象数组,每个对象代表一个设置类别。每个对象必须包含以下属性:
属性 | 描述 | 是否必填 |
---|---|---|
name |
设置分类的名称。 | 是 |
settings |
一个包含相关 settings(设置) 的数组。 | 是 |
settings_schema.json
文件应该遵循以下的基本格式:
[
{
"name": "Category",
"settings": [
...
]
},
...
]
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
文件中加入一个 theme_info
对象来添加这些元数据。这个对象必须包含以下属性:
属性 | 描述 | 是否必填 |
---|---|---|
name |
该属性的值必须为 theme_info 。 |
是 |
theme_name |
主题的名称。 | 是 |
theme_author |
主题的作者。 | 是 |
theme_version |
主题的版本号。 | 是 |
theme_documentation_url |
商家可以查看该主题文档的网址。 | 是 |
theme_support_email |
商家可用于联系支持的邮箱地址。 | 见注释 |
theme_support_url |
商家可以访问主题支持的网页链接。 | 见注释 |
注意
上面列出的属性都是必填项。但是,theme_support_email
和 theme_support_url
只需要填写其中一个,不能两个都填。如果同时包含这两个属性,或者漏掉其他任何必填属性,都会导致出错。
例如:
[
{
"name": "theme_info",
"theme_name": "Dawn",
"theme_author": "Shopify",
"theme_version": "1.0.0",
"theme_documentation_url": "https:\/\/help.shopify.com\/manual\/online-store\/themes\/os20\/themes-by-shopify\/dawn",
"theme_support_url": "https:\/\/support.shopify.com\/"
},
...
]