咱们看一个 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 的原创文章,尽在:” 汪子熙 ”: