扩展后端模型 (Data/DTO) 并与 Spartacus 同步

Extend backend models (Data/DTO) and sync with Spartacus

如果想在 SAP Commerce Cloud 中向产品 (Model/Data/DTO) 添加新属性,应该采用什么方法 想在 Spartacus 中访问它(使用 Spartacus ProductService)? 如何在 Spartacus 中将属性引入 Product 模型并使用后端的值填充它?

这个问题可以看作是一个一般性问题,如何将此要求应用于所有模型并使模型在后端和前端之间保持同步。

提前致谢。

为了获取额外的属性,您可以配置端点。有关详细信息,请参阅 https://sap.github.io/cloud-commerce-spartacus-storefront-docs/connecting-to-other-systems/#configuring-endpoints。不一定需要转换(规范化)数据,但您也可以这样做。这在同一文档中有所介绍。如果您需要调整第 3 方后端,您甚至可以用自定义适配器替换标准 OCC 适配器。

数据从后端加载后,将存储在中央存储中,并不受限制地由门面公开。然而,您可能想要增强默认类型,以便从类型安全中受益而不是回退到 any。您可以使用以下方法执行此操作:

// intro custom typing
interface CustomProduct extends Product {
  customAttribute?: string;
}

// use typing for the observed data
product$: Observable<CustomProduct> = this.currentProductService.getProduct()