Skip to content

内容模型

内容模型是对数据库中存储的数据结构的描述,包含了内容的属性定义。

模型字段

展示名称

展示名称是数据库字段在表格编辑时显示的文本,例如商品名。

数据库字段名

描述

对该字段的描述信息,通常用于解释、提示作用,在编辑内容时展示。

默认值

为内容字段提供一个默认值,编辑时,可以不填写该字段,直接使用默认值。

是否必须

默认情况下,创建内容时,所有字段的值都是选填的。打开此选项,创建内容时,必须填写此字段,否则无法创建内容。

是否隐藏

在内容集合表格展示时隐藏该字段,但在编辑内容时,不隐藏。

设为排序

默认情况下,CMS 系统获取内容时,按照内容创建的先后顺序排序,即先创建的内容在前,后创建的内容在后。你可以通过设置排序字段,指定其他的排序规则。

字符串

Contful 中提供了两种字符串类型:单行字符串多行字符串,单行字符串适用于较短的内容,如商品名称,文章标题,编辑时使用单行输入框,多行字符串适用于较长的内容,如文章介绍。

使用字符串时,可以指定输入字符串的最大长度,以及最小长度,限制输入的字符串长度。

数字

Contful 中不区分数字的类型,精度,默认支持整形、浮点数。

使用数字时,可以指定输入数字的最大值以及最小值,对输入的值进行限制。

布尔值

布尔值只允许输入 falsetrue 两种值,编辑内容时,展示为一个 Switch 开关,默认为 false。

枚举

枚举字段表示可以从一个有限集合中选择一个作为当前字段的值,如商品的状态可能为已上架和未上架两种状态,则可以使用枚举表示已上架和未上架两种状态,则编辑内容时,只能从设定的枚举集合中选择。

设置枚举字段时,需要添加可选的枚举元素,每个枚举元素有两个必填的属性:

  • 枚举元素展示别名:仅作为展示使用,方便区分枚举值
  • 枚举元素值:存储在数据库中的实际值

日期与时间

Contful 中提供了两种时间类型:日期日期与时间,日期仅包含年、月、日,如:2021-01-01,日期与时间则包含年、月、日以及时、分、秒,如 2021-01-01 12:01:01。

日期与时间支持多种自定义存储格式,可以设定时间字段在数据库中的存储格式:

  • Unix Timestamp 毫秒:从 1970 年 1 月 1 日(UTC/GMT 的午夜)开始所经过的毫秒数,整数格式
  • Unix Timestamp 秒:从 1970 年 1 月 1 日(UTC/GMT 的午夜)开始所经过的秒数,整数格式
  • Date 对象:JavaScript 中的 Date 对象
  • 时间字符串:以字符串的形式直接存储时间,如 2021-01-01

默认情况下,日期与时间存储格式为 Unix Timestamp 毫秒形式。

文件

文件字段支持编辑内容时,直接上传文件到云存储中,同时支持下载文件、复制访问链接等操作。文件字段支持自定义资源链接格式,即在数据库中存储的字段格式:

  • FileId:私有协议,如上传私有Minio公有云对象存储,可以直接在小程序中展示,支持读写权限设置。
  • HTTPS:固定的 HTTPS 访问链接,如 https://img.contful.com/test.png,不支持访问权限设置,云存储设置必须为公开访问。

同时,文件字段可以开启多个内容支持,会以数组的形式存储文件访问链接。

图片

与文件类似,图片支持编辑内容时,直接上传文件到云存储中,并且支持预览、下载、复制访问链接等操作。同时,图片也支持自定义资源链接格式、存储多个内容。

多媒体

多媒体类型,可以用来展示音乐和视频,在展示内容时,可以直接播放音乐或视频。

邮箱地址

用于展示、编辑邮箱地址,编辑时,CMS 系统会自动对输入的值进行校验。

电话号码

用于展示、编辑电话号码,编辑时,CMS 系统会自动对输入的值进行校验,存储为整数格式。

网址

用于展示、编辑网址,编辑时,CMS 系统会自动对输入的值进行校验。

富文本

Contful 支持基本的富文本编辑,可以使用内置的富文本编辑器编辑、展示富文本,上传插入图片,CMS 系统使用了开源的 braft-editor 富文本编辑器。

Markdown

Contful 支持 Markdown 编辑器,你可以使用 Markdown 编辑器编辑文本内容,并支持实时预览,上传插入图片。

关联

在某些情况下,内容的某个字段可能是另外一个内容的字段值,如有一个博客文章内容模型,模型中有作者字段,这个字段存储了某个作者的名字,同时存在一个作者内容集合,管理所有的作者。

这种情况下,我们可以在博客内容模型中添加一个作者字段,并设置为关联类型,选择关联内容为作者内容,设置展示字段为作者的姓名

数组

用于展示、编辑字符串数组内容。

JSON对象

某些情况下,可能需要展示、编辑一些复杂的数据结构,以上的类型无法表述时,可以尝试使用 JSON 对象类型。JSON 对象类型可以展示合法的 JSON 对象,并进行编辑。

编辑

JSON 对象支持两种编辑模式:JSON 字符串输入和手动编辑