# settings_data.json

> settings_data.json 保存 Shoplazza 主题当前的设置值与生效的风格预设，本页讲它的结构，以及商家的选择是怎么存下来的。

`settings_data.json` 文件根据 [settings\_schema.json](./settings-schema-json) 中包含的设置，保存 theme 的设置值。

例如，您可以使用以下主题设置允许商家选择页面背景颜色：

```json title="config/settings_schema.json"
[
  {
    "name": {
      "en-US": "Colors",
      "zh-CN": "颜色"
    },
    "settings": [
      {
        "type": "color",
        "id": "color_body_bg",
        "label": {
          "en-US": "General background",
          "zh-CN": "常规背景"
        },
        "default": "#FFFFFF"
      }
    ]
  },
  ...
]
```

这将在 `settings_data.json` 中添加 `color_body_bg` 的条目：

```json title="config/settings_data.json"
{
  "current": {
    "color_body_bg": "#FFFFFF"
  }
}
```

:::tip
在此示例中，`color_body_bg` 的值为 `#FFFFFF`，这是由[默认](../settings/input-settings#标准属性)设置属性决定的。
:::

每当在主题编辑器中更改 `color_body_bg` 的值时，`settings_data.json` 都会更新为新值。

## 位置

`settings_data.json` 文件位于 theme 的 `config` 目录下：

```text title="目录"
└── theme
    ...
    ├── config
        ├── settings_data.json
        ├── settings_presets.json
        └── settings_schema.json
    └── locales
```

## Schema

`settings_data.json` 文件包含以下父级对象：

| 对象          | 描述                                                                         | 是否必填 |
| :------------ | :--------------------------------------------------------------------------- | :------- |
| `current`     | 包含主题编辑器中当前保存的所有设置值。                                        | 是       |
| `metafields`  | 包含可区分当前 theme 技术类型（如插件类型）的主题类型设置值。                  | 否       |

例如：

```json title="config/settings_data.json"
{
  "current": {
    "color_body_bg": "#FFFFFF",
    ...
  },
  "metafields": {
    "theme_type": "standard" // 表示该技术方案不是 jQuery
  }
}
```
