- 输入设置
- 标准属性
- 基础输入设置
- checkbox
- number
- radio
- range
- select
- text
- textarea
- 专用输入设置
- article
- blog
- collection
- collection_list
- color
- color_background
- color_scheme
- color_scheme_group
- font_picker
- html
- image_picker
- 图像焦点
- inline_richtext
- link_list
- liquid
- 限制
- metaobject
- metaobject_list
- page
- product
- product_list
- richtext
- default
- text_alignment
- url
- video
- video_url
- 创建链接
输入设置
输入设置可以保存值,并且商家可以对其进行配置。
输入设置通常由 标准属性 组成,分为两类:
要了解如何访问这些设置的值并在主题中使用它们,请参阅 设置概述。
提示
如果想在设置显示中添加信息元素(例如标题),请参阅 侧边栏设置。
标准属性
以下是在输入设置中通用的标准属性。根据输入类型的不同,可能会有额外的属性或某些属性不适用:
| 属性 | 描述 | 必填 |
|---|---|---|
type |
设置类型,可以是 基础 或 专用 输入设置类型中的任意一种。 | 是 |
id |
设置 ID,用于访问该设置的值。 | 是 |
label |
设置标签,将在主题编辑器中显示。 | 是 |
default |
设置的默认值。 | 否 |
info |
设置的附加信息文本。 | 否 |
基础输入设置
以下为基础输入设置类型:
checkbox
checkbox 类型的设置会生成一个复选框字段。此设置类型可用于切换功能的开启或关闭,例如是否显示公告栏。
例如,以下设置生成如下输出:
{"type": "checkbox","id": "show_announcement","label": "显示公告","default": true}
访问 checkbox 类型设置的值时,数据以 布尔值 返回。
注意
如果未指定 default,则默认值为 false。
number
number 类型的设置会生成一个数字字段。除了 标准属性 外,number 类型设置还具有以下属性:
| 属性 | 描述 | 必填 |
|---|---|---|
placeholder |
输入字段的占位符值。这些值仅对 settings_schema.json 中定义的设置显示,对部分中定义的设置不显示。 |
否 |
您可以使用此设置类型捕获可变的数值,例如集合页面上每页显示的产品数量。
例如,以下设置生成如下输出:
{"type": "number","id": "products_per_page","label": "每页产品数量","default": 20}
访问 number 类型设置的值时,数据以以下格式之一返回:
注意
default 属性是可选的。但值必须是数字而非字符串。未遵守此规则会导致错误。
radio
radio 类型的设置会生成一个单选按钮字段。除了 标准属性 外,radio 类型设置需要必填的 options 属性,该属性接受 value 和 label 定义的数组。
您可以使用此设置类型捕获多选项选择,例如页眉标志的对齐方式。
例如,以下设置生成如下输出:
{"type": "radio","id": "logo_aligment","label": "标志对齐方式","options": [{"value": "left","label": "左对齐"},{"value": "centered","label": "居中"}],"default": "left"}
访问 radio 类型设置的值时,数据以 字符串 返回。
注意
如果未指定 default,则默认选择第一个选项。
range
range 类型的设置会生成一个滑块字段和输入字段。除了 标准属性 外,range 类型设置还具有以下属性:
| 属性 | 描述 | 必填 |
|---|---|---|
min |
输入的最小值 | 是 |
max |
输入的最大值 | 是 |
step |
滑块步长的增量大小,默认为 1(未指定时)。 |
否 |
unit |
输入的单位,例如字体大小滑块可设置为 px。 |
否 |
您可以使用此设置类型捕获可变的数值,例如字体大小。
您可以通过提供的滑块或直接在输入字段中输入值来更新 range 值:
- 如果输入的值不符合
step定义,则值会四舍五入到最近的步长。 - 如果输入的值超出指定的
min和max范围,则值会自动调整为min或max。
例如,以下设置生成如下输出:
{"type": "range","id": "font_size","min": 12,"max": 24,"step": 1,"unit": "px","label": "字体大小","default": 16}
访问 range 类型设置的值时,数据以 数字 返回。
注意
default 属性是必填的。min、max、step 和 default 属性不能为字符串值。未遵守此规则会导致错误。
select
select 类型的设置会根据特定条件生成 不同选择器字段。除了 标准属性 外,select 类型设置还具有以下属性:
select 类型设置支持的额外属性
| 属性 | 描述 | 必填 |
|---|---|---|
options |
接收下拉菜单中每个选项的 value/label 定义数组。 |
是 |
group |
可选属性,可添加到每个选项中以创建下拉菜单中的选项组。 | 否 |
选择器字段
以下条件会渲染选择器字段为 DropDown 或 SegmentedControl:
选择器字段的渲染条件
| 字段 | 渲染条件 | 输出 |
|---|---|---|
Dropdown |
- 使用了可选的 group 属性。- 提供了超过五个选项。 - 选项过长可能导致溢出容器。 |
渲染为 DropDown 类型的选择器字段 |
SegmentedControl |
- 未使用可选的 group 属性。- 提供了两到五个选项。 - 所有选项均可容纳在容器内且不会溢出。 |
渲染为 SegmentedControl 类型的选择器字段 |
您可以使用此设置类型捕获多选项选择,例如幻灯片文字的垂直对齐方式。
例如,以下设置生成如下输出:
{"type": "select","id": "vertical_alignment","label": "垂直对齐方式","options": [{"value": "top","label": "顶部"},{"value": "middle","label": "中部"},{"value": "bottom","label": "底部"}],"default": "middle"}
但如果您的设置符合下拉字段 (DropDown) 的条件(例如选项超过五个),则会生成以下输出:
{"type": "select","id": "sizes","label": "尺寸","options": [{"value": "xs","label": "极小号"},{"value": "s","label": "小号"},{"value": "m","label": "中号"},{"value": "l","label": "大号"},{"value": "xl","label": "加大号"},{"value": "xxl","label": "特大号"}],"default": "m"}
访问 select 类型设置的值时,数据以 字符串 返回。
注意
如果未指定 default,则默认选择第一个选项。
text
类型为 text 的设置会输出一个单行文本字段。除了 标准属性 之外,text 类型的设置还具有以下属性:
| 属性 | 描述 | 必填 |
|---|---|---|
placeholder |
输入框的占位符值。这些值仅在 settings_schema.json 中定义的设置中显示,不会在部分(section)的 schema 中定义的设置中显示。 |
否 |
你可以使用这种设置类型来捕获短字符串,例如标题。
例如,以下设置会生成以下输出:
{"type": "text","id": "footer_linklist_title","label": "标题","default": "快速链接"}
当访问 text 类型设置的值时,数据会以以下格式之一返回:
提示
切换预设时,text 类型的设置不会更新。
textarea
类型为 textarea 的设置会输出一个多行文本字段。除了 标准属性 之外,textarea 类型的设置还具有以下属性:
| 属性 | 描述 | 必填 |
|---|---|---|
placeholder |
输入框的占位符值。这些值仅在 settings_schema.json 中定义的设置中显示,不会在部分(section)的 schema 中定义的设置中显示。 |
否 |
你可以使用这种设置类型来捕获大段文本,例如消息。
例如,以下设置会生成以下输出:
{"type": "textarea","id": "home_welcome_message","label": "欢迎信息","default": "欢迎光临我的店铺!"}
当访问 textarea 类型设置的值时,数据会以以下格式之一返回:
专用输入设置
以下是一些专用输入设置类型:
- 文章
- 博客
- 集合
- 集合列表
- 颜色
- 背景颜色
- 颜色方案
- 颜色方案组
- 字体选择器
- HTML
- 图片选择器
- 内联富文本
- 链接列表
- Liquid
- 元对象
- 元对象列表
- 页面
- 产品
- 产品列表
- 富文本
- 文本对齐方式
- URL
- 视频
- 视频URL
article
类型为 article 的设置会输出一个文章选择器字段,该字段会自动填充商店中可用的文章。你可以使用这种设置类型来捕获文章选择,例如选择要在主页上展示的文章。
例如,以下设置会生成以下输出:
{"type": "article","id": "article","label": "文章"}
当访问 article 类型设置的值时,数据会以以下格式之一返回:
一个
article对象。为了与 旧版基于资源的设置 兼容,直接输出该设置会返回对象的句柄。
- 如果未进行选择、选择不可见或选择已不存在,则返回
blank
注意
类型为 article 的设置在切换预设 Preset 时不会更新。article 设置也不支持 default 属性。
blog
类型为 blog 的设置会生成一个自动填充商店可用博客的博客选择字段。你可以使用这种设置类型来捕获博客选择,例如选择要在侧边栏中展示的博客。
例如,以下设置会生成以下输出:
{"type": "blog","id": "blog","label": "博客 Blog"}
访问 blog 类型设置的值时,数据会以以下格式之一返回:
一个
blog对象。为了向后兼容 legacy resource-based settings,直接输出该设置会返回对象的 handle。
blank,如果未进行选择,或者选择已不存在。
注意
类型为 blog 的设置在切换预设 Preset 时不会更新。blog 设置也不支持 default 属性。
collection
类型为 collection 的设置会生成一个自动填充商店可用集合的集合选择字段。你可以使用这种设置类型来捕获集合选择,例如选择要在首页展示产品的集合。
例如,以下设置会生成以下输出:
{"type": "collection","id": "collection","label": "集合 Collection"}
访问 collection 类型设置的值时,数据会以以下格式之一返回:
一个
collection对象。为了向后兼容 legacy resource-based settings,直接输出该设置会返回对象的 handle。
blank,如果未进行选择、选择不可见,或者选择已不存在。
注意
类型为 collection 的设置在切换预设 Preset 时不会更新。collection 设置也不支持 default 属性。
collection_list
类型为 collection_list 的设置会生成一个自动填充商店可用集合的集合选择字段。你可以使用这种设置类型来捕获多个集合,例如选择一组要在首页展示的集合。
除了 标准属性 之外,collection_list 类型设置还具有以下属性:
| 属性 Attribute | 描述 Description | 必填 Required |
|---|---|---|
limit |
商户可以选择的最大集合数量。默认限制和可设置的最大限制是 50。 | 否 No |
{"type": "collection_list","id": "collection_list","label": "集合 Collections","limit": 8}

访问 collection_list 类型设置的值时,数据会以以下格式之一返回:
一个
collection对象 数组。blank,如果未进行选择、选择不可见,或者选择已不存在
color
类型为 color 的设置会生成一个颜色选择器字段。你可以使用这种设置类型来捕获各种主题元素的颜色选择,比如正文文本颜色。
例如,以下设置会生成以下输出:
{"type": "color","id": "body_text","label": "Body text","default": "#000000"}
当访问 color 类型设置的值时,数据会以以下格式之一返回:
- 一个
color对象。 - 如果未进行选择,则返回
blank。
color_background
类型为 color_background 的设置会生成一个文本字段,用于输入 CSS background 属性。你可以使用这种设置类型来捕获各种主题元素的背景设置,比如商店背景。
警告
color_background 类型的设置不支持与图像相关的背景属性。
例如,以下设置会生成以下输出:
{"type": "color_background","id": "background","label": "Background","default": "linear-gradient(#ffffff, #000000)"}
当访问 color_background 类型设置的值时,数据会以以下格式之一返回:
- 一个 字符串。
- 如果未输入任何内容,则返回空字符串。
color_scheme
类型为 color_scheme 的设置会生成一个包含所有可用主题颜色方案的选取器,并预览所选颜色方案。选取器中的主题颜色方案通过 color_scheme_group 设置定义。你可以将颜色方案应用于区块、模块和通用主题设置。颜色方案设置在 App 区块中不支持。
例如,以下设置会生成以下输出:
{"type": "color_scheme","id": "color_scheme","default": "scheme_1","label": "Color scheme"}
当访问 color_scheme 类型设置的值时,Shopify 会返回从 color_scheme_group 中选中的 color_scheme 对象。
如果未输入值,或者值无效,则返回 color_scheme 中的默认值。如果默认值也无效,则返回 color_scheme_group 中的第一个 color_scheme。
如果主题的 settings_data.json 中没有 color_scheme_group 数据,则返回 nil。
color_scheme_group
一种 color_scheme_group 类型的设置会输出由以下输入设置类型组成的颜色方案:
headercolorcolor_background
颜色方案只能在 settings_schema.json 中添加。
例如,以下设置会生成以下输出:
{"type": "color_scheme_group","id": "color_schemes","definition": [{"type": "color","id": "background","label": "t:settings_schema.colors.settings.background.label","default": "#FFFFFF"},{"type": "color_background","id": "background_gradient","label": "t:settings_schema.colors.settings.background_gradient.label","info": "t:settings_schema.colors.settings.background_gradient.info"},{"type": "color","id": "text","label": "t:settings_schema.colors.settings.text.label","default": "#121212"},{"type": "color","id": "button","label": "t:settings_schema.colors.settings.button_background.label","default": "#121212"},{"type": "color","id": "button_label","label": "t:settings_schema.colors.settings.button_label.label","default": "#FFFFFF"},{"type": "color","id": "secondary_button_label","label": "t:settings_schema.colors.settings.secondary_button_label.label","default": "#121212"},{"type": "color","id": "shadow","label": "t:settings_schema.colors.settings.shadow.label","default": "#121212"}],"role": {"text": "text","background": {"solid": "background","gradient": "background_gradient"},"links": "secondary_button_label","icons": "text","primary_button": "button","on_primary_button": "button_label","primary_button_border": "button","secondary_button": "background","on_secondary_button": "secondary_button_label","secondary_button_border": "secondary_button_label"}}

role
role 字段会输出颜色方案预览。颜色方案预览会在编辑器中商家可能选择颜色方案的任何地方显示。你可以为颜色方案定义分配角色,以将颜色方案映射到预览。例如,你可以将 role.background 分配给 Background 定义。role 使用以下标准化映射将 color_scheme_group 定义与颜色方案预览关联:
| Role | 描述 | 必填? | 是否支持渐变? |
|---|---|---|---|
role.background |
渲染预览的背景颜色 | 是 | 可选 |
role.text |
渲染预览的文本颜色 | 是 | 否 |
role.primary_button role.secondary_button |
渲染预览中的第一个和第二个药丸按钮 | 是 | 可选 |
role.primary_button_border role.secondary_button_border |
渲染预览中第一个和第二个药丸按钮的边框 | 是 | 否 |
role.on_primary_button role.on_secondary_button |
预览中不使用 | 是 | 否 |
role.links role.icons |
预览中不使用 | 是 | 否 |

font_picker
一种 font_picker 类型的设置会输出一个字体选择器字段,该字段会自动填充 Shopify 字体库 中的字体。该字体库包括网页安全字体、部分 Google Fonts 和 Monotype 授权的字体。
你可以使用此设置类型来捕获各种主题元素的字体选择,例如基础标题字体。
例如,以下设置会生成以下输出:
{"type": "font_picker","id": "heading_font","label": "Heading font","default": "helvetica_n4"}
当访问 font_picker 类型设置的值时,数据会以 font 对象 的形式返回。
注意事项
default 属性是必填的。如果未包含此属性会导致错误。你可以通过 Shopify 字体库中的 可用字体 查找可能的值。
html
一种 html 类型的设置会输出一个多行文本字段,接受 HTML 标记。除了输入设置的 标准属性 外,html 类型的设置还有以下属性:
| 属性 | 描述 | 必填 |
|---|---|---|
placeholder |
输入的占位符值 | 否 |
你可以使用此设置类型来捕获自定义的 HTML 内容块,例如视频嵌入。
例如,以下设置会生成以下输出:
{"type": "html","id": "video_embed","label": "Video embed"}

以下 HTML 标签会被自动移除:
<html><head><body>
当访问 html 类型设置的值时,数据会以以下格式之一返回:
注意
保存设置时,未闭合的 HTML 标签会自动闭合。这可能与你的预期格式不一致,因此请务必验证输入内容。
image_picker
一种 image_picker 类型的设置会输出一个图像选择器字段,该字段会自动填充 Shopify 后台 Files 部分中的可用图像,并支持上传新图像。商家还可以为图像输入替代文本并选择 焦点。
你可以使用此设置类型来捕获图像选择,例如标志、favicon 和轮播图图像。
例如,以下设置会生成以下输出:
{"type": "image_picker","id": "image_with_text_image","label": "Image"}


当访问 image_picker 类型设置的值时,数据会以以下格式之一返回:
注意
image_picker 类型的设置在切换预设时不会更新。image_picker 设置也不支持 default 属性。
图像焦点
通过 image_picker 设置选择的图像支持焦点。焦点是商家希望在主题裁剪和调整图像时保留在视图中的位置。焦点可以在主题编辑器的 image_picker 设置中设置,也可以从 Files 页面设置。
为确保你的主题尊重图像的焦点,请执行以下操作:
- 使用
image_tag过滤器渲染图像。 - 考虑使用
object-fit: cover在容器中定位图像。
使用 image_tag,如果提供了焦点,则会在图像标签中添加 object-position 样式,值设置为焦点位置。
{{ section.settings.image_with_text_image | image_url: width: 1500 | image_tag }}
输出
<img src="octopus-tentacle.jpg?v=1&width=1500" alt="My alt text"srcset="octopus-tentacle.jpg?v=1&width=352 352w,octopus-tentacle.jpg?v=1&width=832 832w,octopus-tentacle.jpg?v=1&width=1200 1200w"width="1500" height="1875"style="object-position:25% 10%;">
如果需要针对特定用例覆盖 object-position 样式,则向 image_tag 过滤器传递 style: object-position: inherit; 属性。
提示
你可以通过 image.presentation.focal_point 访问焦点数据。
inline_richtext
类型为 inline_richtext 的设置会输出未被段落标签(<p>)包裹的 HTML 标记。该设置包含以下基础格式选项:
- 粗体
- 斜体
- 链接
注意
inline_richtext 设置不支持以下功能:
- 换行符(
<br>) - 富文本编辑器中的下划线选项。商家可以通过
Command+U或Control+U快捷键对文本添加下划线。
你可以使用此设置类型来捕获格式化的文本内容,例如首页上的品牌介绍内容。
例如,以下设置会生成以下输出:
{"type": "inline_richtext","id": "inline","default": "my <i>inline</i> <b>text</b>","label": "Inline rich text"}
访问 inline_richtext 类型设置的值时,数据以以下格式之一返回:
link_list
类型为 link_list 的设置会输出一个菜单选择字段,该字段会自动填充商店的可用菜单。你可以使用此设置类型来捕获菜单选择,例如页脚链接使用的菜单。
例如,以下设置会生成以下输出:
{"type": "link_list","id": "menu","label": "Menu"}
访问 link_list 类型设置的值时,数据以以下格式之一返回:
linklist对象。- 如果未进行选择或选择已不存在,则返回
blank。
注意
default 属性的可接受值为 main-menu 和 footer。
liquid
类型为 liquid 的设置会输出一个多行文本字段,该字段接受 HTML 和 有限制的 Liquid 标记。你可以使用此设置类型来捕获自定义的 HTML 和 Liquid 内容块,例如产品特定消息。商家还可以使用 liquid 设置来添加代码,以将某些类型的 应用 集成到你的主题中。
例如,以下设置会生成以下输出:
{"type": "liquid","id": "battery_message","label": "Battery message","default": "{% if product.tags contains 'battery' %}This product can only be shipped by ground.{% else %}This product can be shipped by ground or air.{% endif %}"}
访问 liquid 类型设置的值时,数据以以下格式之一返回:
注意
default 属性是可选的。但如果你使用它,则其值不能是空字符串。此外,保存设置时未闭合的 HTML 标签会自动闭合。这可能与你的预期格式不一致,因此请务必验证输入内容。
限制
liquid 类型的设置无法访问以下 Liquid 对象/标签:
- layout
- content_for_header
- content_for_layout
- content_for_index
- section
- javascript
- stylesheet
- schema
- settings
但 liquid 设置可以访问以下内容:
- 全局 Liquid 对象
- 诸如
collection、product等模板特定对象(在其各自的模板内) - 标准 Liquid 标签 和 过滤器
如果内容包含不存在或为空的 Liquid 标签,则它们会被渲染为空字符串。例如,以下设置会生成以下输出:
{"type": "liquid","id": "message","label": "Message","default": "Hello {{ not_a_real_tag }}, welcome to our shop."}
Hello , welcome to our shop.
警告
在这些设置中输入的内容不能超过 50KB。保存超出此限制或包含无效 Liquid 的内容会导致错误。
metaobject
metaobject 设置允许商家通过选择器界面选择指定类型的 metaobject 条目。此设置支持标准和自定义的 metaobject 定义:
- 标准 metaobject 定义:这些在主题编辑器中即刻可用,无需在商店中预先启用。一个标准 metaobject 的例子是
product_reviewmetaobject。了解更多 关于当前标准 metaobject 定义。 - 自定义 metaobject 定义:这些专为自定义主题设计,要求 metaobject 定义已存在。注意,Theme Store 中列出的主题不允许使用自定义 metaobject 定义。一个自定义 metaobject 的例子是
authormetaobject。
此外,应用程序可以使用其自己的应用程序拥有的 metaobject 定义和条目来利用 metaobject 设置。
metaobject 类型的设置除了具有 输入设置的标准属性 外,还具有以下属性:
| 属性 | 描述 | 必需 |
|---|---|---|
metaobject_type |
选择器允许的 metaobject 类型。 | 是 |
metaobject 设置的值可以是以下格式之一:
metaobject对象- 如果未进行选择、选择不可见或选择已不存在,则返回
blank
标准 metaobject 示例
{"type": "metaobject","id": "my_material_setting","label": "Material","metaobject_type": "shopify--material"}
自定义 metaobject 示例
{"type": "metaobject","id": "my_artist","label": "Artist","metaobject_type": "artist"}
限制
- 同一时间仅支持一个
metaobject_type,如设置模式中定义的那样。 - 为了使主题符合 Shopify Theme Store 的 发布指南,只能使用标准定义。不能使用自定义或应用程序拥有的定义。
- 当引用 自定义 或 应用程序创建的
metaobject_type时,定义必须存在于商店中并可供 storefront 使用。如果任一条件未满足,设置会在主题编辑器中显示错误。
在应用中的使用
应用可以通过其应用模块或嵌入组件中的 metaobject 设置来增强主题功能。通过在 保留命名空间(reserved namespaces) 下创建 metaobject 定义,应用可以为商家提供高级配置选项,同时保持简单的用户体验。
举个例子,假设有一个旨在通过客户证言提升品牌叙事的应用。以下是可能的实现步骤:
- 创建一个名为
Customer Testimonial的自定义 metaobject 定义 - 使用应用模块在购买后页面收集客户数据
- 将这些数据写入
Customer Testimonialmetaobject 条目 - 提供一个
Testimonial应用模块,并添加一个metaobject设置,使用Customer Testimonialmetaobject 类型 - 在 Liquid 中访问
metaobject设置值,以展示选中的证言
{"type": "metaobject","id": "my_testimonial","label": "Testimonial","metaobject_type": "app--<appid>-testimonial"}
metaobject_list
metaobject_list 设置允许商家通过选择器界面选择多个指定类型的 metaobject 条目。此设置支持标准和自定义 metaobject 定义:
- 标准 metaobject 定义:这些定义在主题编辑器中直接可用,无需预先在商店中启用。例如
product_reviewmetaobject。了解更多 当前标准 metaobject 定义。 - 自定义 metaobject 定义:这些定义专为自定义主题设计,要求 metaobject 定义已存在。注意:Theme Store 列表中的主题不允许使用自定义 metaobject 定义。例如
authormetaobject。
此外,应用可以利用 metaobject_list 设置与自身的应用拥有的 metaobject 定义和条目结合使用。
metaobject_list 类型的设置具有以下属性(除 标准属性(standard attributes) 外):
| 属性 | 描述 | 必填 |
|---|---|---|
limit |
商家可选择的最大条目数。默认和最大限制为 50。 | 否 |
metaobject_type |
选择器允许的 metaobject 类型。 | 是 |
metaobject_list 设置值可以是以下格式之一:
- 一个
metaobject对象 的数组
该数组支持使用 paginate 标签进行分页。你也可以在 设置键(setting key) 后追加.count以返回数组中 metaobject 条目的数量。 - 如果未选择内容、选择不可见或选择已不存在,则返回
blank
标准 metaobject 列表示例
{"type": "metaobject_list","id": "my_material_list_setting","label": "Materials","metaobject_type": "shopify--material","limit": 12}
自定义 metaobject 列表示例
{"type": "metaobject_list","id": "my_artist_list","label": "Artists","metaobject_type": "artist","limit": 12}
限制
- 每个设置仅支持一种
metaobject_type,由设置的 schema 定义。 - 为了符合 Shopify Theme Store 的 发布指南(publishing guidelines),主题不能使用自定义或应用拥有的定义。
- 当引用 自定义 或 应用创建的
metaobject_type时,定义必须存在于商店中并向 storefront 可用。若任一条件未满足,主题编辑器中的设置将显示错误。
在应用中的使用
应用可以在其应用模块或嵌入组件中使用 metaobject_list 设置来增强主题功能。通过在 保留命名空间(reserved namespaces) 下创建 metaobject 定义,应用可以为商家提供高级配置选项,同时保持简单的用户体验。使用上述 示例(example) 中的 Testimonials 应用模块,商家可以选择多个证言条目。metaobject_list 设置使这一实现成为可能。
{"type": "metaobject_list","id": "my_testimonial_list","label": "Testimonials list","metaobject_type": "app--<appid>-testimonial","limit": 12}
page
page 类型的设置会输出一个自动填充商店可用页面的页面选择器字段。你可以使用此设置类型捕获页面选择,例如在尺码表展示中选择要显示内容的页面。
例如,以下设置生成如下输出:
{"type": "page","id": "page","label": "Page"}
当访问 page 类型设置的值时,数据以以下格式之一返回:
- 一个
page对象
为了向后兼容 遗留资源型设置(legacy resource-based settings),直接输出设置值将返回对象的 handle。 - 如果未选择内容、选择不可见或选择已不存在,则返回
blank
注意
切换预设时,page 类型的设置不会更新。page 设置也不支持 default 属性。
product
product 类型的设置会输出一个自动填充商店可用产品的商品选择器字段。你可以使用此设置类型捕获商品选择,例如在首页上展示的商品。
例如,以下设置生成如下输出:
{"type": "product","id": "product","label": "Product"}
当访问 product 类型设置的值时,数据以以下格式之一返回:
- 一个
product对象
为了向后兼容 遗留资源型设置(legacy resource-based settings),直接输出设置值将返回对象的 handle。 - 如果未选择内容、选择不可见或选择已不存在,则返回
blank
注意
类型为 product 的设置在切换预设时不会更新。product 类型的设置也不支持 default 属性。
product_list
类型为 product_list 的设置会输出一个产品选择器字段,该字段会自动填充商店中可用的产品。你可以使用此设置类型来捕获多个产品,例如在首页上展示的一组产品。
注意
只能从已发布到在线商店且状态为 active 的产品中进行选择。
除了 标准属性 之外,product_list 类型的设置还支持以下属性:
| 属性 | 描述 | 必填 |
|---|---|---|
limit |
商家可以选择的最大产品数量。默认限制和最大限制均为 50。 | 否 |
{"type": "product_list","id": "product_list","label": "Products","limit": 12}
当访问 product_list 类型设置的值时,数据会以以下格式之一返回:
- 包含
product对象 的数组。
该数组支持通过 paginate 标签进行分页。你也可以在 设置键 后添加.count来返回数组中的产品数量。 - 如果未进行选择、选择不可见或选择已不存在,则返回
blank。
richtext
类型为 richtext 的设置会输出一个多行文本字段,支持以下基本格式选项:
- 加粗
- 斜体
- 下划线
- 链接
- 段落
- 无序列表
注意
富文本组件中不会显示下划线选项。商家可以通过 Command+U 或 Control+U 键盘快捷键添加下划线。
你可以使用此设置类型来捕获格式化文本内容,例如首页上的品牌介绍内容。
例如,以下设置会生成以下输出:
{"type": "richtext","id": "paragraph","label": "Paragraph"}
当访问 richtext 类型设置的值时,数据会以以下格式之一返回:
default
default 属性不是必填项。但如果使用它,则仅支持 <p> 或 <ul> 标签作为顶级元素。
以下 HTML 标签也支持在父级 <p> 标签内使用:
<p><br><strong><b><em><i><u><span><a>
注意
如果未将 default 内容包裹在 <p> 或 <ul> 标签中,会导致错误。
text_alignment
类型为 text_alignment 的设置会输出一个带图标的 SegmentedControl 字段。除了 标准属性 之外,text_alignment 类型的设置还支持以下属性:
text_alignment 类型设置支持的附加属性
| 属性 | 描述 | 必填 |
|---|---|---|
| Default | 初始选择值。可以是 left、right 或 center 中的一个。默认值为 left。 |
否 |
以下默认值无法更改为其他值:
| 值 | 图标展示 |
|---|---|
| Left | ![]() |
| Right | ![]() |
| Center | ![]() |
例如,以下设置会生成以下输出:
{"type": "text_alignment","id": "alignment","label": "Text alignment","default": "center"}
当访问 text_alignment 类型设置的值时,数据会以 字符串 格式返回。
注意
如果未指定 default 属性,则默认选择 left。
url
类型为 url 的设置会输出一个 URL 输入字段,你可以手动输入外部 URL 或相对路径。它还有一个自动填充以下商店可用资源的选取器:
- 文章
- 博客
- 集合
- 页面
- 产品
你可以使用此设置类型来捕获 URL 选择,例如幻灯片按钮链接要使用的 URL。
例如,以下设置会生成以下输出:
{"type": "url","id": "button_link","label": "Button link"}
当访问 url 类型设置的值时,数据会以以下格式之一返回:
注意
default 属性的可接受值为 /collections 和 /collections/all。
video
类型为 video 的设置会输出一个视频选择器,该选择器会自动从 Shopify 管理后台的 Files(文件) 部分中填充可用的视频。商家还可以选择上传新的视频。
例如,以下设置会生成如下输出:
{"type": "video","id": "video","label": "A Shopify-hosted video"}

video 类型的设置还支持类型为 file_reference 的 metafields 作为 动态源。
当访问 video 类型设置的值时,数据会以以下格式之一返回:
注意
video 设置不支持 default 属性。
video_url
类型为 video_url 的设置会输出一个 URL 输入字段。除了输入设置的标准属性外,video_url 类型设置还包含以下属性:
| 属性 | 描述 | 是否必需 |
|---|---|---|
accept |
接受的视频提供商数组。有效值为 youtube、vimeo 或两者。 |
是 |
placeholder |
输入框的提示值。 | 否 |
此设置类型可用于捕获来自 YouTube 和/或 Vimeo 的视频 URL,例如产品描述中静态视频的 URL。
例如,以下设置会生成如下输出:
{"type": "video_url","id": "product_description_video","label": "Product description video","accept": ["youtube","vimeo"]}

当访问 video_url 类型设置的值时,数据会以以下格式之一返回:
此外,还可以访问视频的 id 和 type(YouTube 或 Vimeo)。
例如,假设你使用了 这个视频,并通过上述设置调用,以下 Liquid 代码会生成如下输出:
ID: {{ settings.product_description_video.id }}Type: {{ settings.product_description_video.type }}
ID: _9VUPq3SxOcType: youtube
创建链接
你可以通过将链接文本用方括号包裹,并在其后立即用括号添加 URL 的方式,在 info 设置属性中添加链接。
例如,以下设置会生成如下输出:
{"type": "checkbox","id": "enable_payment_button","label": "Show dynamic checkout button","info": "Each customer will see their preferred payment method [Learn more](https://help.shopify.com/manual/online-store/dynamic-checkout)","default": true},

注:
- 所有技术术语(如
Liquid、metafields、Shopify admin等)均保留原英文,符合 Shopify 官方文档规范。 - 链接和代码格式严格按照原文保留,确保可直接复制使用。
- 翻译内容完全基于原文,未添加额外信息。




