如何找到 SAP 電商雲 Spartacus UI 產品明細介面對應的 Angular 實現 Component 名稱

JerryWang_汪子熙發表於2021-10-27

我們看一個 PDP 即 product detail page 的實際例子:

http://localhost:4200/powerto...

在單頁應用程式中,您可以通過顯示應用程式的不同檢視來控制使用者看到的內容。 Spartacus 使用 Angular Router 來處理從一個檢視到另一個檢視的導航。 路由器通過將每個 URL 視為呈現特定檢視的指令來完成此操作。

我們載入這個 PDP 時,OCC API url:

https://host:9002/occ/v2/powe...

ProductPage 是 CMS 裡一種特殊的 page 型別,引數為 product code:3881017

返回的 OCC response 裡,能看到 page template:ProductDetailsPageTemplate

Content slot 也有很多數值在內:

總共 17 個 slot:

問題1:Spartacus 什麼地方將引數 pageType=ProductPage 傳給 OCC API?

根據關鍵字 ProductPage,居然搜尋不到結果。

應該是我的搜尋條件使用不對,現在正常了:

在 getContextParams 裡設定斷點:

這裡能清晰看到,connector - (35 行)呼叫 adapter:

然而,是誰呼叫 35 行的 getList 呢?
繼續在 cms-component.connector.ts 裡設定斷點:

最終發現,是 NavigationEntryItemEffects 負責驅動的。

更多Jerry的原創文章,盡在:"汪子熙":

相關文章