SAP Spartacus 自定义 Component 的使用 - SimpleResponsiveBannerComponent
(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的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的SAP Spartacus 自定义 Component 的使用 - SimpleResponsiveBannerComponent的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何自定义SAP Spartacus店铺
- 下一篇: Angular Component的加载