typescript Spartacus扩展或覆盖来自cms.model的PageType枚举

5m1hhzi4  于 2023-03-09  发布在  TypeScript
关注(0)|答案(2)|浏览(80)

我遇到了斯巴达克斯的问题。
简而言之,我需要覆盖或扩展cms.model中的PageType枚举,它目前有四个枚举值(内容、产品、类别、目录),我需要添加第五个枚举值(订单)。

gab6jxml

gab6jxml1#

我假设你想创建一个订单页面。有一个OOTB订单页面,它是ContentPage(内容页面类型)的一个示例。参见OOTB店面(例如服装、电子产品)的OOTB cms-responsive-content_en.impex。你可以重新配置它。

bvn4nwqk

bvn4nwqk2#

你必须增加枚举,如下所示:

declare module '@spartacus/core' {
  enum PageType {
    NEW_PAGE_TYPE = 'NewPageType',
  }
}

(PageType as any)['NEW_PAGE_TYPE'] = 'NewPageType';

在使用它时,如果它抛出一个错误,指出它不能被赋值给类型PageType,那么你可以这样做:

PageType.NEW_PAGE_TYPE as PageType

文档链接:https://sap.github.io/spartacus-docs/type-augmentation/#augmenting-enums

相关问题