我正在尝试研究 Magnolia CMS NextJS 混合 SSG 项目。页面pages/[[pathname]]有一个样板代码,它将为我们在管理中心的页面应用程序中添加的所有页面生成静态内容和路径。这对于页面作者来说非常有效。当我们使用内容类型中的内容时,如何将其放入组件中?
当我查看组件接收的 props 时,它仅包含我在添加组件时在页面编辑器中指定的值。
我希望能够开发一个可以通过编辑器添加到页面的组件,该组件列出了内容类型的内容列表。我们有什么办法可以做到这一点吗?
是的,这是支持的。
关键是您希望 REST 交付端点从内容应用程序中的任何链接内容返回内容。您可以通过将
referenceResolvers
添加到端点配置来完成此操作。
这是 AssetReference 解析器的示例。 https://git.magnolia-cms.com/projects/DEMOS/repos/minimal-headless-spa-demos/browse/magnolia/light-modules/spa-lm/restEndpoints/delivery/pages_v1.yaml#18
您将需要添加一个 jcrReferenceResolver 来指定您的 propertyName。请参阅此处的文档: https://docs.magnolia-cms.com/product-docs/6.2/Developing/API/Delivery-API/Resolving-references-with-the-delivery-endpoint.html#_example_configuration