我对Netlify的CMS有点困惑-特别是在通过config.yml
定义架构时。我正在将Netlify CMS与Gatsby静态站点一起使用,以允许最终用户更新该站点上的一些动态数据。
我要实现的目标:
我希望CMS上的数据类型允许用户创建新的游览日期,同时最多容纳人数和当前居住人数(即,当前在该游览中预订的人数)。
要实现这一目标,我目前使用了config.yml
(这个config.yml
位于我的Gatsby项目的static/admin
中,没有项目根目录):
backend:
name: git-gateway
branch: master
publish_mode: editorial_workflow
media_folder: src/images/uploads
public_folder: /uploads
collections:
- name: "tourInfo"
label: "Tour Info"
description: "Upcoming tours and their availability"
files:
- label: "tour"
name: "Tour"
file: "static/tours.json"
fields:
- {label: "Tour Date", name: "date", widget: "datetime"}
- {label: "Total Places", name: "totalPlaces", widget: "number"}
- {label: "Filled Places", name: "filledPlaces", widget: "number"}
这似乎并不是我要找的东西,我似乎无法创建许多巡回演出实例,但只能创建一个。在收集类型方面,这可能是我的一个基本误解,但我想我可以将tour
定义为单个文件,然后用许多巡回实例填充它。
有人能指出我正确的方向,以实现这种巡回数据点阵列而不会死于文件吗?
答案 0 :(得分:1)
您可以将该集合设为folder collection,也可以使用list widget。
在代码中使用列表的示例:
collections:
- name: "tourInfo"
label: "Tour Info"
description: "Upcoming tours and their availability"
files:
- label: "tour"
name: "Tour"
file: "static/tours.json"
fields:
- label: "Tour List"
name: "tourList"
widget: "list"
fields:
- {label: "Tour Date", name: "date", widget: "datetime"}
- {label: "Total Places", name: "totalPlaces", widget: "number"}
- {label: "Filled Places", name: "filledPlaces", widget: "number"}
因此,您的游览日期,地点等可以放在列表的fields
下。但是,对于大量数据来说,这看起来确实很不守规矩,您可能想使用自定义宽度来进行分页或使用文件夹集合。