我需要在spartacus店面标头和导航上进行自定义配置。布局元素的分发方式必须与Spartacus的默认结构完全不同。
我已经制作了一个自定义组件来配置类别导航,并且按预期将其成功注入到默认strucutre中。该组件内部的重要部分如下:
node$: Observable<NavigationNode> = this.service.getNavigationNode(
this.componentData.data$
);
data$: Observable<CmsNavigationComponent> = this.componentData.data$;
constructor(protected componentData: CmsComponentData<CmsNavigationComponent>,
protected service: NavigationService) {
}
请注意,我使用this one之类的 CmsComponentData 方法,但是问题在于标头包含我要删除的元素,因此可以实现所需的结构。那就是技巧部分,因为我认为可行的一种方法是替换整个标头,并仅用我需要的元素来构建它,如下所示(找到here):
<ng-template cxOutletRef="cx-header">
<app-custom-category-navigation></app-custom-category-navigation>
</ng-template>
但是,这样做必须使用自定义导航组件,在这种情况下,CMS ComponentData注入器不起作用,并抛出“ 没有CmsComponentData提供程序!”错误。有人可以让我朝正确的方向前进吗?