Contentful有一个概念"链接"可以是许多物体或一个物体。但是,我无法找到一种方法来模拟反向关系而不会使工作倍增(即指定每个对象的子节点和父节点)。
我想使用Contentful为这样的简单导航提供支持:
菜单项1
菜单项2
链接可能看起来像/<parent.slug>/<child.slug>/<child.slug>/
我可以通过遍历父关系找到要呈现的页面条目,以确保我获得一个带有slug的页面,以及一个具有特定slug的父级。
但是,如果不使用多个API调用,很难渲染子菜单项,除非你包含一个&#34;孩子&#34;对象中的字段 - 容易出错和不一致。
答案 0 :(得分:1)
如果您的商品只有子关系,您可以利用包含概念。只需获取最下面的子项,并将MyProject
--Main
--Features
--FeatureBranch1
--FeatureBranch2
参数设置为足够高的值(10是最大值),Contentfuls API将在单个API调用中包含所有引用的内容。
您可以在此处详细了解包含内容:https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/links
答案 1 :(得分:1)
是的,我们遇到了同样的问题。我们有一个Page模型,带有一个名为'parentPage'的refLink。我们的中间件调用CF来获取所有页面并在内存中构建站点树模型。
从这个模型中我们有获取子节点的方法,并获取URL slug。