zl程序教程

您现在的位置是:首页 >  其他

当前栏目

SAP Spartacus 自定义 Component 的使用 - SimpleResponsiveBannerComponent

SAP 自定义 Spartacus Component 使用
2023-09-14 09:02:52 时间

(1) 使用命令行创建一个新的Angular Component:

banner Component的实现:

通过构造函数参数注入cms Component data.

而Component的html实现,只是简单的显示一行字符串:This is a custom banner component

(2) 在Custom Module实现里,使用第一个步骤创建的CustomBannerComponent替换原始的cmsComponent:

最后运行时的效果如下:

问题:Overriding components without interfering with other sections (SimpleResponsiveBannerComponent)

我想更改 Section1 中的内容,并且从 spartacus 视频中我应该做的是覆盖该部分中使用的组件。 然而,该组件是 SimpleResponsiveBannerComponent,它至少存在于 Section1、Section2A 和 Section2B 中。 因此,如果我覆盖该组件,我也会“删除”其他部分中的内容。 如何只更改(通过代码)Section1 中的内容而不干扰其他部分?

回答

由于 Spartacus 是完全由 CMS 驱动的,并且 Slots 中的所有内容都取决于 CMS 数据,因此请遵循这种方法 - 防止在通过 CMS 进行数据操作期间产生副作用的最佳方法,这就是为什么,我认为您只有一种“正确”的方法来计算它出去。

如果您更改组件的 UI/UX 行为 - 这意味着您开始提供与其他插槽(第 1 部分、第 2A 部分和第 2B 部分)中的组件不同的新组件。

使用自定义 typeCode 创建另一个 CMS 组件以实现与 SimpleResponsiveBannerComponent 不同的内容。在需要的地方添加自定义组件,并将 SimpleResponsiveBannerComponent 留在 Section1、Section2A 和 Section2B 中。

我相信,在前端代码库方面实现它的其他可能方法(如果它们确实存在) - 错误的方式并且在通过 SmartEdit 操作数据期间可能会产生额外的问题。

原文

要获取更多Jerry的原创文章,请关注公众号"汪子熙":