settings_schema.json
The settings_schema.json
file controls the organization and content of the Theme settings area of the theme editor. All setting selections in the theme editor are saved in settings_data.json.
The settings_schema.json
file is located in the config
directory of the theme:
The settings_schema.json
file is an array of objects that represent setting categories. Each object needs to have the following attributes:
Attribute | Description | Required |
---|---|---|
name |
The name of the category of settings. | Yes |
settings |
An array of associated settings. | Yes |
The settings_schema.json
file should follow the following basic format:
The settings_schema.json
file is a JSON file, so all content must be valid JSON. Additionally, make sure you follow the appropriate syntax for your desired setting.
When working with the settings_schema.json
file, familiarize yourself with the following:
Setting types
Anchor link to section titled "Setting types"There are two categories of settings:
Category | Description |
---|---|
Input settings | Settings that can hold a value, and are configurable by app users. |
Sidebar settings | Settings that can’t hold a value, and aren’t configurable by app users. They’re informational elements that can be used to provide detail and clarity for your input settings. |
Access settings
Anchor link to section titled "Access settings"Theme settings can be accessed through the settings object. To learn more about the syntax and considerations, refer to Access settings.
Add theme metadata
Anchor link to section titled "Add theme metadata"As a theme author, you can include additional metadata for your theme in the Theme actions menu of the theme editor. This menu appears at the left of the theme editor top bar:
To add this metadata, you can include a theme_info
object in the settings_schema.json
file. This object must include the following attributes:
Attribute | Description | Required |
---|---|---|
name |
The value of this attribute must be theme_info . |
Yes |
theme_name |
The name of the theme. | Yes |
theme_author |
The author of the theme. | Yes |
theme_version |
The version number of the theme. | Yes |
theme_documentation_url |
A URL where merchants can find documentation for the theme. | Yes |
theme_support_email |
An email address that merchants can contact for support for the theme. | See note |
theme_support_url |
A URL where merchants can find support for the theme. | See note |
For example: