如何在 PDP 上使用附加的 ProductWsDTO 属性?
Posted
技术标签:
【中文标题】如何在 PDP 上使用附加的 ProductWsDTO 属性?【英文标题】:How to use additional ProductWsDTO attributes on PDP? 【发布时间】:2021-12-11 15:54:36 【问题描述】:SAP Spartacus 允许我们覆盖 PDP 中使用的各种组件。示例:ProductSummaryComponent (cx-product-summary)。
使用 ConfigModule 覆盖它们非常简单,因为它们是 CMS 组件。
我的问题是关于我们如何使用控制器可能返回的附加属性。
示例 - 让我们考虑向 ProductModel 添加属性“manufacturedYear”,然后我们还通过 beans xml 将其包含在 ProductData 中。现在它在 Data 对象中,假设我们在 ProductWsDTO 中添加它并在 DTO 映射中添加它,现在将在 /product/code API 调用中返回。
在 UI 中,我们有如下产品:
product$: Observable = this.currentProductService.getProduct();
因此,“Product”是@spartacus/core 中“product.model.ts”中可用的模型。我们如何扩展它,以便我们可以通过使用进行实际 API 调用的底层服务来使用新的“manufacturedYear”?
目的只是扩展模型,但使用底层服务进行 API 调用以获取我们的附加属性。
感谢您的帮助
【问题讨论】:
【参考方案1】:这是一个扩展产品模型的示例,并建议使用加载范围从后端获取额外属性:Extending product model in Spartacus
基于它,你可以这样做:
import Product as CxProduct from '@spartacus/core';
export interface Product extends CxProduct
manufacturedYear: number;
【讨论】:
非常感谢凯恩的帮助。另一位 slack 团队成员通过此链接帮助我,该链接更详细地解释了您在上面的回答:sap.github.io/spartacus-docs/type-augmentation以上是关于如何在 PDP 上使用附加的 ProductWsDTO 属性?的主要内容,如果未能解决你的问题,请参考以下文章