如何在 Shopify 上创建用于存储数据的自定义表

· Updated
1 分钟阅读
如何在 Shopify 上创建用于存储数据的自定义表
目录

TL;DR

Shopify does not let merchants create traditional database tables in admin, but you can store structured custom data using metafields and metaobjects. Metafields are best for extra fields on products, collections, and other existing resources, while metaobjects are best for reusable record types like store locations, FAQs, and size charts. If you only need to display a table on the storefront, a Liquid table fed by metafields is usually the cleanest option. Use an external database only when you need complex app-style logic or large relational datasets.

你可能想在 Shopify 中创建一个自定义表,用来存储某类特定信息。比如,当你需要展示门店地址信息时,可能更希望从某个数据源动态加载,而不是把内容写死在代码里。

下面是一些在 Shopify 平台上存储自定义数据的常见方法。

在 Shopify 中存储数据

如果你想在 Shopify 中存储数据,可以使用一种称为“Metafields”的自定义字段。它们可以通过 Liquid 模板访问,用于存储 Shopify 标准字段之外的任何附加信息。

你可以为以下类型的资源添加 metafields:

  • 产品和产品变体
  • 系列(Collections)
  • 客户和公司(仅 Plus)
  • 订单和草稿订单
  • 页面以及博客/文章
  • 门店地点
  • 购物车

Metafield 的属性

每个 metafield 都包含一些属性和组成部分,如下:

  • 名称(Name):在 Shopify 后台用于识别该 metafield 的显示名称。
  • 命名空间与键(Namespace and Key):用于将相似的 metafields 归类的唯一标识。每一种组合都必须是唯一的。
  • 类型(Type):内容类型,用来决定该 metafield 存储的数据形式(文本、数字、文件、日期、引用等)。Shopify 目前在文本、文件、度量、引用等类别下提供了 30+ 种 metafield 类型。
  • 描述(Description):可选信息,用于说明该 metafield 的用途。
  • 访问权限(Access):控制该 metafield 是否可在店铺前台访问,或仅限后台使用。
  • 校验(Validation):可选规则,例如字符限制、最小/最大值或预设值,用于确保数据一致性。

你可以在官方 Shopify 自定义数据文档 中了解更多关于 metafields、定义以及 GraphQL Admin API 的信息。

创建新的模型或对象

如果你希望创建全新的自定义数据结构,可以使用“Metaobjects”。Metaobjects 允许你创建独立存在的自定义对象,并且可以在整个店铺中被引用。与附加在现有资源上的 metafields 不同,metaobjects 是可复用的内容结构。

例如,如果你想创建一个作者(Author)记录,包含作者姓名、作者简介、作者头像等多个字段,你可以先创建一个 metaobject 定义。随后就能创建多个作者条目,并在产品中引用它们。

Metaobjects 非常适合用于结构化、可复用的内容,例如:

  • 产品特性与规格参数
  • 尺码表与护理指南
  • 设计师或品牌档案
  • 常见问题(FAQ)与信息模块
  • 系列横幅与促销内容

你可以在 Shopify 后台的设置 > 自定义数据中访问并管理 metaobjects。创建完成后,你可以通过主题区块(theme sections)动态来源(dynamic sources)以及Liquid在前台展示这些信息。Metaobjects 也可以通过 Storefront API 和 GraphQL Admin API 访问。

下面有一段很棒的视频,会带你了解如何使用 metaobjects:

其他添加数据的方式

除了 metafields 和 metaobjects 之外,Shopify 还有一些其他的数据存储方式。你可以直接在页面(pages)中通过页面编辑器存放内容,这种方式很直观,也便于用 HTML 或富文本编辑器进行修改。

如果你需要以结构化、按时间顺序的形式存储并展示大量信息,博客文章(blog posts)也是一个选择。对于较小的分类信息,你可以使用产品标签(product tags)系列标签(collection tags)

同时,导航菜单(link lists)适合用来组织层级数据,并在前台创建结构化的导航。

对于需要外部数据库或第三方集成的更复杂场景,你可以通过Storefront APIGraphQL Admin API将 Sanity 等内容管理系统连接到 Shopify。

 

分享这篇文章

相关文章