从零开始开发Shopify主题:(3)自定义配置文件

本文介绍如何使用Shopify的settings_schema.json文件来自定义主题配置,包括颜色、Logo等选项,并解释了不同设置类型的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在创建主题时,可以为客户预留一些自定义的配置,是Shopify主题模板常用的做法。Shopify使用settings_schema.json文件提供了这个自定义配置的方式。

在Shopify主题的config目录中,在此文件中定义一些对象属性,就可以实现自定义的配置选项。当你选择在线商店 》 模板 》自定义按钮,就可以看到控制面板中这些选项。

配置文件的文件格式

settings_schema.json文件,本身是个JSON文件,那么他需要遵守JSON文件规范,这里所有的数据都用[]括起来。在此范围内,你可以将相关选项组合在一起。每个分组都有一个名称,然后是定义这个组的配置。比如:

[
    {
        "name" : "颜色",
        "settings" : [ ]
    }
]

然后,每个选项都是设置数组中的一个对象。 像这样的东西:

[
  {
    "name": "Shopify119",
    "theme_name": "Shopify119 theme",
    "theme_version": "1.0.0",
    "theme_author": "Leo",
    "theme_documentation_url": "https://shopify119.blog.youkuaiyun.com",
    "theme_support_url": "https://shopify119.blog.youkuaiyun.com"
  },
  {
    "name" : "颜色",
    "settings" : [
      {
        "type": "color",
        "id": "color_background",
        "label": "背景颜色",
        "default": "#e5e5e5",
        "info" : "这个将调整背景颜色"
      },
      {
        "type": "color",
        "id": "color_body_text",
        "label": "内容文字颜色",
        "default": "#2980b9",
        "info" : "这个将调整内容文字颜色"
      }
    ]
  },
  {
    "name": "Logo",
    "settings": [
      {
        "type": "image",
        "id": "logo.png",
        "label": "Logo",
        "info": "这里可以改变店铺的Logo"
      }
    ]
  }
]

上面的例子中,在自定义设置的侧栏上,你可以看到标签“颜色”,当你单击他时,可以选择设置背景颜色和内容文字颜色;选择Logo可以更改店铺的Logo。

配置文件的属性

每个设置都有5个属性:type、id、label、default、info

类型是否必填描述
type必填定义选项所需的输入类型
id必填id必须唯一,这将在主题中引用它
label必填向用户描述了该选项的用途,可以用中文
placeholder可选输入的占位符文本的值。这仅适用于基于文本的设置类型。
default可选该选项的默认值
info可选为用户提供该选项的详细使用信息

常规设置类型

下表描述了允许的常规输入类型,每个值在type属性中设置。

说明
text允许用户输入单行文本字段
textarea允许用户输入多行文本字段
image允许用户上传图片
radio允许用户使用单选按钮
select允许用户从下拉列表中进行选择
checkbox允许用户选中一个框,返回true或false值

image type

需要注意的是,用这种方式上传的图片将保存在模板的assets文件夹中。该文件使用id中定义的名称和格式进行保存。所以,即使上传的是.jpg文件,但是id定义的是logo.png,图片也将会保存为.png文件。

radio和select type

由于radio和select有多个值可提供选择,因此还需要设置额外的属性。比如:

{
		  "type":      "radio",
		  "id":        "id",
		  "label":     "Text",
		  "options": [
		    { "value": "one", "label": "Radio One" },
		    { "value": "two", "label": "Radio Two" }
		  ],
		  "default":   "one",
		  "info":      "Text"
}

特殊设置类型

特殊设置类型的定义访问和常规设置类型相似,不同之处在于这些设置,将为用户提供内置或特定的选择信息。比如:产品类型是下拉列表,但只允许用户从已经在商店中定义的产品类型中进行选择。

说明
color允许用户使用颜色选择器窗口小部件选择颜色
font允许用户从可用字体列表中进行选择
collection允许用户选择商店中可用的产品系列
product允许用户选择商店中可用的产品
blog允许用户从商店中设置的博客列表中进行选择
link_list允许用户从可用菜单中进行选择
page允许用户选择商店中定义的特定页面
snippets允许用户选择主题中可用的特定代码段

Blog Type

Shopify内置了博客,你可以添加博客文章。还可以把这些博客文章添加到不同的博客中。blog type设置下拉列表允许你选择要用于改设置的博客。

Snippet Type

代码片段在模板中的snippets目录里面定义。

信息设置

Shopify还允许将创建主题的作者信息放入侧边栏中,它们只有3个属性:type, content, info

类型是否必填描述
type必填定义选项所需的输入类型。 对于侧边栏设置,这只能是标题或段落
content必填文本内容
info可选向用户提供有关该选项的其他信息。

在模板中调用配置信息

现在已经可以创建设置信息了,但是如何在实际的模板中调用并使用它们?这将是下篇文章的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值