Shopify专题
Liquid模板中的 schema标签
00 分钟
2022-11-6
2025-1-16
type
status
date
slug
summary
tags
category
icon
password

一、定义配置数据

Shopify 的 Liquid 模板引擎提供了一个名为 schema 的特殊标签,允许开发人员定义可在主题编辑器中动态更改的设置。这使得商店所有者能够自定义其主题,而无需直接修改代码。

1.1 schema 标签的基本结构

每个 schema 标签必须包含一个 name 字段和一个 settings 数组。以下是 schema 标签中可用的字段:
  • name:区块的名称,在主题编辑器中显示,帮助用户识别不同的设置。
  • class:附加到区块的 CSS 类,便于样式定制。
  • settings:包含该区块所有设置的数组。每个设置对象可能包含以下字段:
    • type:设置的类型,如 texttextarearichtextimage_pickercolorfont_pickerurlradiocheckboxrangeselect
    • id:设置的唯一标识符,用于在 Liquid 模板中引用。
    • label:设置的标签,在主题编辑器中显示,帮助用户理解每个设置的功能。
    • default:设置的默认值,确保用户在未自定义时有合理的初始值。
    • info:关于此设置的额外信息,以工具提示形式显示,帮助用户更好地理解设置的用途。
    • placeholder:输入字段的占位符文本,提供输入示例。
    • options:某些类型(如 radioselect)需要的选项数组,每个选项包含 valuelabel 字段。
    • minmaxstep:用于 range 类型设置,定义最小值、最大值和步长。

1.2 示例代码

1.3 常用的预定义 type

  • text:用于简单文本输入。
  • textarea:用于多行文本输入,适合较长内容。
  • image_picker:允许用户选择图片,增强视觉效果。
  • color:提供颜色选择器,便于主题个性化。
  • checkbox:提供复选框,适合布尔值设置。
  • radio:提供单选按钮,适合多个互斥选项。
  • select:提供下拉选择框,适合选项较多的场景。
  • range:提供滑动条选择器,适合数值范围的选择。

二、获取动态配置的数据

一旦在 Shopify 主题的区块文件(.liquid 文件)中定义了 schema,这些设置将在主题编辑器中可用。商店所有者可以根据需要动态更改这些设置。您可以在 Liquid 模板中使用这些设置来控制内容的显示。

2.1 实战示例

假设您想根据用户选择的内容类型(博客或产品)动态显示不同的内容,并允许用户自定义背景颜色。可以使用以下代码:

2.2 代码解析

  • 背景颜色:通过 section.settings.background_color 获取用户选择的背景颜色,并应用于外层 <div>
  • 内容类型判断:使用 if 语句判断 content_type 设置的值,动态显示博客文章或产品信息。
  • 循环展示:使用 for 循环遍历博客文章或产品集合,显示标题和摘要/价格。

2.3 注意事项

  • 设置仅在定义它们的区块内部可用,无法在一个区块中访问另一个区块的设置。
  • 设置的值在用户保存主题编辑器后才会更新,确保用户的更改被正确应用。

三、总结

通过使用 schema 标签,开发者可以创建灵活且可定制的主题区块,提升商店所有者的用户体验。理解 schema 的结构和用法,将帮助您更好地利用 Shopify 的功能,创建出色的电子商务网站。