settings_data.json
config/settings_data.json stores the values behind the theme's settings schema, along with data for statically rendered sections. The theme editor reads and writes this file as sellers customize the theme; it ships with the theme to provide the starting configuration.
{
"current": {
"logo": "logo.png",
"favicon": "favicon.png",
"logo_width": 90,
"cart_type": "drawer",
"sections": {
"announcement-bar": {
"type": "announcement-bar",
"settings": {}
},
"header": {
"type": "header",
"settings": {
"logo_position": "left",
"sticky_header_type": "on-scroll-up"
}
},
"footer": {
"type": "footer",
"settings": { "show_social": true }
}
}
},
"presets": {
"Default": {}
}
}Top-level properties
| Property | Type | Required | Description |
|---|---|---|---|
current | object | string | Yes | The active configuration. An object holds the values directly; a string names a key in presets to use instead. |
presets | object | Yes | Named starting configurations, keyed by preset name. "Default": {} is the common minimum. |
A current (or preset) object has two kinds of content.
Theme setting values
Any key other than sections is a theme setting value, keyed by the setting id from settings_schema.json. These populate the global settings object in Liquid.
"logo_width": 90,
"cart_type": "drawer"Settings left out here fall back to the default declared in the schema.
sections
Data for statically rendered sections, keyed by a section ID. Each entry has the same shape as a section in a JSON template: type, settings, blocks, order, and disabled.
"sections": {
"announcement-bar": {
"type": "announcement-bar",
"settings": { "auto_rotate": true },
"blocks": {
"block_one": {
"type": "announcement_item",
"settings": { "text": "Free shipping on all orders" }
}
},
"order": ["block_one"]
}
}When a layout calls {% section 'announcement-bar' %}, the renderer looks up the entry whose type matches and renders the section with that data.
Editing
In normal use the theme editor owns this file. Hand-edit it only to set up the configuration a theme ships with, and keep every setting id and section type aligned with settings_schema.json and the section files.