我有隐私政策文件,在许多不同的网站上都相同。我将文档存储在带有“正文”的RTF字段的文档内容类型中。我想以编程方式更改网站名称和网址,而无需重复输入。
我尝试使用嵌入式条目。例如,具有另一个称为WebSite的内容类型,并且具有两个字段,标题和URL。但是无法访问富文本格式中的每个特定字段,因此当我解析有效负载时,我不知道何时使用标题以及何时使用url。
我可以为网站标题和网站名称提供不同的内容类型,但感觉有点过头了。
实现此目标的最佳方法是什么?
您可以通过两种方法解决此问题。
像您在WordPress中通常会看到的短代码在这里可以发挥很大的作用。例如,在文本中放置[[website_name]]
或[[website_url]]
,并在渲染过程中对其进行解析,将是一种非常简单的实现方式。
或者,如果您确实遵循嵌入式进入路线...
如果您是通过GraphQL获取内容,则可以使用以下语法来获取内容,解析RichText时需要查找条目,但可以访问字段:
content {
json
links {
entries {
inline {
sys {
id
}
... on SiteContentMention { // Have a fragment for each content type you can embed
title
url
}
__typename
}
}
}
}
您将在链接对象中看到所需字段的数据,该字段由sys.id
匹配
如果您通过常规的内容交付API来获取内容。您将在包含顶层字段中看到所需的数据,再次由sys.id
进行匹配。您可能需要增加include
参数的值。此处记录:https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/links/retrieval-of-linked-items