是否需要额外的配置才能使面包屑在基于 Spartacus 的站点中可见?在 BottomHeaderSlot 中有一个 BreadcrumComponent 实例。如果我在基于 JSP 的站点中加载页面,则会为 /warranty 页面显示类似“HOME / Warranty”的面包屑。但是当我加载基于 Spartacus 的站点时,它只显示“HOME”。我错过了什么?我是否需要编辑 CMS 控制器或将面包屑生成器映射到它?
3 回答
我正在更新我的答案,因为我之前误解了,对此感到抱歉。
在 Spartacus 中,面包屑由特定的PageMetaResolver
. 默认情况下,内容页面由 解析ContentPageMetaResolver
,您可以对其进行扩展。
为内容页面解析的断点(如示例数据中的常见问题页面)仅包含指向主页的链接。您可以通过为ContentPageMetaResolver
.
---以前的答案,不再相关---
可见性取决于BreadcrumbComponent
CMS 结构中的可用性。您可以在页面模板或特定页面中添加此组件。
您将在演示站点上看到此内容,请参阅https://spartacus.c39j2-walkersde1-d4-public.model-t.cc.commerce.ondemand.com/。在主页上没有面包屑的概念,而在其他页面上有。在 sampledata 中,BreadcrumbComponent 是 BottomHeaderSlot 的组件的一部分。
例如,您可以扩展BasePageMegaResolver
类并breadcrumb$
通过替换来覆盖
this.routingPageMetaResolver?.resolveBreadcrumbs()
和
this.routingPageMetaResolver?.resolveBreadcrumbs({ includeCurrentRoute: true })
此选项使 Spartacus 将当前页面包含在 Breadcrumbs 数组中。
(供参考)在 Slack 中添加来自“Krzysztof Platis”的评论:
后端面包屑生成器未反映在 Spartacus 中,但您可以通过扩展和/或提供新的 PageMetaResolvers 来构建面包屑逻辑。请参阅文档https://sap.github.io/cloud-commerce-spartacus-storefront-docs/seo-capabilities/#page-meta-resolvers。
缺少一段关于面包屑的段落。但作为一个例子。你可以看到https://github.com/SAP/cloud-commerce-spartacus-storefront/blob/develop/projects/core/src/product/services/category-page-meta.resolver.ts#L125。
请参阅:https ://spartacus-storefront.slack.com/archives/CD16V16FR/p1580380905111000