在 contentful api 中显示子标签的内容
Display contents of child tags in contentful api
我是 contentful api 的新手。当我输入 url 以检索 0 级标签条目(内容类型)时,我创建了 link 标签。我正在获取子元素 ID
fields": {
"level0Tag": "Problem Solving",
"level1ChildTags": [
{
"sys": {
"type": "Link",
"linkType": "Entry",
"id": "4uKXvRK0veAoEuk2yAuQ2Y"
}
},
{
"sys": {
"type": "Link",
"linkType": "Entry",
"id": "3QMVgykrBey8KQ2SOw8CU6"
}
}
],
"displayChildTags": true
我想获取一级子标签的名称字段,如何获取?
当您检索 linked 条目或资产时,您得到的是带有 sys 属性 的对象,其中包含与 link 类型相关的元数据(在您的情况下告诉你它是一个条目,它包含 ID)。此外,在 JSON 响应的顶层,您应该得到一个 "includes" 属性 和一个包含所有 linked 资产的数组。
默认情况下,API 将 link 解析为 1 级。如果你想要多于一级(或 none),你可以使用 "include" 查询字符串参数(例如 include=2)。
如果您使用其中一种 SDK,例如 Javascript SDK,它们会在响应中为您解析这些 links 并将它们替换为实际对象,但是通过默认 REST API 不执行此操作。
另请注意,这仅在您查询集合端点时发生,例如 /entries
,而不是针对单个项目端点,例如 /entries/id
。
更多信息请查看https://www.contentful.com/developers/docs/concepts/links/ and https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/entries/entry/query-entries?console=1
如下页所述,您可以使用 include
请求参数指定级别,以在查询响应中获取 linked 条目或资产,然后您会发现响应的 includes.Entry
和 includes.Asset
属性 中的 linked 条目和资产。
https://www.contentful.com/developers/docs/concepts/links/
如果您碰巧使用的是 JavaScript SDK,它将允许您像预期的那样透明地实际导航关系图(将 link 替换为实际包含的资源)。
我最初尝试使用 getEntry
,但正如文档所说,这不会加载链接的内容。这是我使用的:
function getOneNewsItemFromCMS(uid, callback) {
// Using getEntries rather than getEntry ensures that we get linked items too
client().getEntries({ 'sys.id': uid })
.then(function (entries) {
const item = processContentfulNewsItems(entries.items)[0];
callback(item);
});
}
函数 processContentfulNewsItems
将 Contentful 返回的 JSON 格式映射到我的 React 对象所期望的格式。
我是 contentful api 的新手。当我输入 url 以检索 0 级标签条目(内容类型)时,我创建了 link 标签。我正在获取子元素 ID
fields": {
"level0Tag": "Problem Solving",
"level1ChildTags": [
{
"sys": {
"type": "Link",
"linkType": "Entry",
"id": "4uKXvRK0veAoEuk2yAuQ2Y"
}
},
{
"sys": {
"type": "Link",
"linkType": "Entry",
"id": "3QMVgykrBey8KQ2SOw8CU6"
}
}
],
"displayChildTags": true
我想获取一级子标签的名称字段,如何获取?
当您检索 linked 条目或资产时,您得到的是带有 sys 属性 的对象,其中包含与 link 类型相关的元数据(在您的情况下告诉你它是一个条目,它包含 ID)。此外,在 JSON 响应的顶层,您应该得到一个 "includes" 属性 和一个包含所有 linked 资产的数组。
默认情况下,API 将 link 解析为 1 级。如果你想要多于一级(或 none),你可以使用 "include" 查询字符串参数(例如 include=2)。
如果您使用其中一种 SDK,例如 Javascript SDK,它们会在响应中为您解析这些 links 并将它们替换为实际对象,但是通过默认 REST API 不执行此操作。
另请注意,这仅在您查询集合端点时发生,例如 /entries
,而不是针对单个项目端点,例如 /entries/id
。
更多信息请查看https://www.contentful.com/developers/docs/concepts/links/ and https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/entries/entry/query-entries?console=1
如下页所述,您可以使用 include
请求参数指定级别,以在查询响应中获取 linked 条目或资产,然后您会发现响应的 includes.Entry
和 includes.Asset
属性 中的 linked 条目和资产。
https://www.contentful.com/developers/docs/concepts/links/
如果您碰巧使用的是 JavaScript SDK,它将允许您像预期的那样透明地实际导航关系图(将 link 替换为实际包含的资源)。
我最初尝试使用 getEntry
,但正如文档所说,这不会加载链接的内容。这是我使用的:
function getOneNewsItemFromCMS(uid, callback) {
// Using getEntries rather than getEntry ensures that we get linked items too
client().getEntries({ 'sys.id': uid })
.then(function (entries) {
const item = processContentfulNewsItems(entries.items)[0];
callback(item);
});
}
函数 processContentfulNewsItems
将 Contentful 返回的 JSON 格式映射到我的 React 对象所期望的格式。