CMS 用来存放结构化内容:博客文章、产品、团队成员、案例研究、招聘职位。编辑者在简洁的内容视图中工作,设计师则可以放心,布局不会被破坏。
集合和字段
打开 CMS 工作区,点击 New collection。每个集合一开始都带有标题和 slug 字段;再添加你需要的其他字段。
字段可以设为必填,也可以设置校验规则和默认值。修改集合的字段后,变更会直接生效到已发布站点,无需整站重新发布。
条目
条目视图是一个可搜索的表格,带有状态筛选和批量操作。点击 New item,或打开某个条目,即可在侧边面板中编辑。在你手动修改之前,slug 会根据标题自动生成。
- Save 把你的修改保存为草稿。线上站点继续显示已发布的副本。
- Publish 把草稿复制为线上副本。Unpublish 把它从站点上撤下。
- Schedule 选择日期和时间;条目会在那时自动发布。
- Versions 列出之前的保存记录;可以恢复其中任意一个。
富文本
富文本以结构化内容保存,从不保存原始 HTML,因此渲染时始终是安全的。在画布上,Rich text 元素会渲染一个富文本字段,并按标签应用站点的类(例如每个 h2 都会得到 heading-md)。
在页面上显示内容
添加集合列表
插入一个 Collection list 并选择集合。在检查器中设置筛选、排序和数量限制。
设计一张卡片
列表的第一个子元素就是模板。只需设计一次,它会为每个条目重复。
绑定字段
把文本绑定到
item.title,图片绑定到item.cover,链接则在它的 快捷选项中选择 Item page 绑定到条目的页面(参见链接列表条目)。展开的引用会给出被引用的条目,所以item.author.name也能用。
在底层,列表会通过内置的 CMS 集成运行一个 CMS 查询:
{
"operation": "cms.list",
"input": {
"collectionId": "col_posts",
"filter": [{ "field": "featured", "op": "eq", "value": true }],
"sort": [{ "field": "date", "dir": "desc" }],
"limit": 6,
"expand": ["author"]
}
}
模板页面
模板页面有一个动态路径,例如 /blog/:slug,并且属于某个集合。它会为每个已发布的条目渲染一次,每个绑定中都可以使用 item。把页面的 SEO 标题和描述绑定到条目字段,例如 item.title + ' | Blog'。在检查器中选择要在画布上预览的条目。
发布机制
发布一个条目不会重新发布整个站点。只有依赖该集合的页面,即它的模板页面以及查询它的列表,才会重新渲染。参见发布。
内容编辑者
为撰稿人分配内容编辑者角色。他们可以编辑 CMS 条目和画布上的文本,但不能修改设计、数据或逻辑。参见团队与角色。