--- url: https://docs.youcan.shop/themes/config/settings_data.md --- # `settings_data.json` `config/settings_data.json` stores the values behind the theme's [settings schema](/themes/config/settings_schema), along with data for [statically rendered](/themes/sections/overview#statically-render-a-section) sections. The theme editor reads and writes this file as sellers customize the theme; it ships with the theme to provide the starting configuration. ```json { "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. ```json "logo_width": 90, "cart_type": "drawer" ``` Settings left out here fall back to the `default` declared in the schema. ### `sections` Data for [statically rendered](/themes/sections/overview#statically-render-a-section) sections, keyed by a section ID. Each entry has the same shape as a section in a [JSON template](/themes/templates/json-templates#section-object): `type`, `settings`, `blocks`, `order`, and `disabled`. ```json "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.