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。