settings_data.json
settings_data.json 文件包含了基于 settings_schema.json 中定义的设置项而保存的主题设置值。
比如,你可以使用下面这个主题设置,让商家选择页面背景色:
{"name": "Colors","settings": [{"type": "color","id": "color_page_bg","label": "Page background","default": "#FFFFFF"}]}
这会在 settings_data.json 中添加一个 color_page_bg 的条目:
..."color_page_bg": "#FFFFFF"...
提示
在这个例子中,color_page_bg 的值是 #FFFFFF,是因为设置了 default 默认值属性。
每当商家在主题编辑器中修改 color_page_bg 的值时,settings_data.json 就会更新为新的值。
所在位置
settings_data.json 文件位于主题的 config 目录下:
└── theme...├── config├── settings_data.json└── settings_schema.json└── locales
数据结构
settings_data.json 文件包含以下顶级对象:
| 对象 | 描述 | 是否必需 |
|---|---|---|
current |
包含当前在主题编辑器中保存的所有设置值。 | 是 |
presets |
包含每个 theme style 的对象。每个对象的格式与 current 相同。 |
是 |
platform_customizations |
包含 平台控制设置 的设置值。 | 否 - 如果商家使用了平台控制的设置,Shopify 会自动添加这个对象。 |
例如:
{"current": {"color_page_bg": "#FFFFFF",...},"presets": {"preset-name": {"color_page_bg": "#000000",...}}}
用法
在使用 settings_data.json 文件时,你应该熟悉以下概念:
Theme styles
Theme style 是一组主题设置的默认值,让商家在开始使用时能方便地 更改主题的整体外观和风格。
选择某个 theme style 会更新 current 对象为对应的 style 设置值。但只有来自 presentational settings 的值会被更新。
Presentational settings
Presentational settings 指的是与主题视觉外观相关的设置。比如文字颜色和字体,或者某个元素是否可见。
以下这些输入类型属于 presentational settings。当切换 theme style 时,这些值会被覆盖:
Platform-controlled settings
在主题编辑器中,Shopify 提供了一个 自定义 CSS 设置,可用于主题级别和区块级别。商家在主题级别添加的任何自定义 CSS 都会存储在 platform-customizations 对象的 custom_css 属性中。
这个设置是为了让用户在不修改主题代码的情况下自定义店铺外观。作为主题开发者,你不应该添加这个设置,也不要在设置好之后修改它的值。你应该使用专门的 CSS 资源文件 和 stylesheet Liquid 标签,并通过 theme settings 在这些地方引入 CSS 的自定义选项。
限制
settings_data.json文件的大小不能超过 1.5MB。- 一个主题最多只能包含五个 style。
