如何在 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 属性?的主要内容,如果未能解决你的问题,请参考以下文章

SuiteCommerce Advanced - 在PDP上显示自定义记录

关于db2中update 的使用?

如何在 magento2 pdp 中添加外部图像

在spartacus中扩展PDP路由?

XACML Authzforce PDP 自定义策略

使用gbm.plot(dismo)和partial(pdp)时,部分依赖图的差异,为什么?