如何在/cms/pages OCC端点中填充自定义cms组件的自定义属性



我创建了一个自定义cms组件,该组件有几个自定义属性,我需要在spartacus店面中访问这些属性。在API endpoint/cms/pages(PagesController(中,我只得到了这个组件的基本表示,没有自定义属性。

"uid" : "sofortComponent",
"uuid" : "eyJpdGVtSWQiOiJzb2ZvcnRDb21wb25lbnQiLCJjYXRhbG9nSWQiOiJlbGVjdHJvbmljcy1zcGFDb250ZW50Q2F0YWxvZyIsImNhdGFsb2dWZXJzaW9uIjoiT25saW5lIn0=",
"typeCode" : "***APMComponent",
"modifiedtime" : "2020-11-24T13:02:05.847+01:00",
"name" : "SOFORT @",
"container" : "false",
"media" : {
"code" : "sofort-icon",
"mime" : "image/png",
"url" : "/medias/?context=bWFzdGVyfGltYWdlc3wxNzU0fGltYWdlL3BuZ3xpbWFnZXMvaGVlL2hkMy84Nzk3MzAyOTE1MTAyLnBuZ3w4MzMxNmEzNTFhODBkYzEzYzVmNmUxZjgzNzI2MzU0MGI3MzJlNjg1ZWQzZjlhY2FjMWMxNDNkNDUyOTEzODQ4"
}
}, {
"uid" : "creditCardComponent",
"uuid" : "eyJpdGVtSWQiOiJjcmVkaXRDYXJkQ29tcG9uZW50IiwiY2F0YWxvZ0lkIjoiZWxlY3Ryb25pY3Mtc3BhQ29udGVudENhdGFsb2ciLCJjYXRhbG9nVmVyc2lvbiI6Ik9ubGluZSJ9",
"typeCode" : "...",
"modifiedtime" : "2020-11-23T14:03:28.472+01:00",
"name" : "Credit Card",
"container" : "false"
},  ... ]

我的组件(sofortComponent(有一个我想填充的属性,但我找不到任何关于如何填充的文档。

我曾尝试向cmsRenderingCmsItemConverterCustomPopulators添加一个populator,但这不允许我向模型添加复杂的属性(字符串为yes,但复杂项为no。(或者我可能做错了。

有人能给我介绍一下文档或一个例子吗?

  1. 您是否尝试配置Spartacus端点以请求您的新字段,即backend.occ.endpoints.pages='cms/pages?fields=...'?看见https://sap.github.io/spartacus-docs/connecting-to-other-systems/#configuring-端点
  2. 您可能还需要扩展类OccCmsPageNormalizer,以便将Occ模型的新字段映射到Spartacus UI模型。看见https://sap.github.io/spartacus-docs/connecting-to-other-systems/#extending-ui模型

OCC api中公开的字段由所谓的预配置集驱动。虽然默认资源具有关联的预配置集,但您需要为新类型创建预配置集。这是文档,请参阅https://help.sap.com/viewer/9d346683b0084da2938be8a285c0c27a/1808/en-US/8c404c5886691014a48c88f4a49f9bf3.html

为BASIC、DEFAULT和FULL集合提供了预先配置的集合。如果您没有请求特定字段映射,则将使用为DEFAULT配置的OCC映射。但是,您可以在请求中指定字段映射,方法是使用预先配置的集合之一,或者命名特定字段。或者两者的组合,即不属于预配置集的FULL预配置+客户字段。

在Spartacus中,您可以通过提供端点配置来配置字段映射。此文档记录在https://sap.github.io/spartacus-docs/connecting-to-other-systems/#configuring-端点。这意味着,即使您在后端根本没有预先配置的集,您仍然可以请求数据。

最新更新