覆盖页脚/页眉节

时间:2020-02-17 08:35:34

标签: spartacus-storefront

我试图通过定义以下内容来修改带出口的页脚节:

<ng-container *ngIf="templateName$ | async">
        <ng-template *ngIf="true" cxOutletRef="footer">
        </ng-template>
</ng-container>

和页脚部分未替换。是否可以替换特定模板的页脚/页眉? 作为此代码的结果,可以从PageLayoutService正确解析templateName,但无法进行替换。 也尝试过

<ng-container *ngIf="(templateName$ | async) === expectedTemplateName">
        <ng-template cxOutletRef="footer">
        </ng-template>
</ng-container>

但仍然没有运气。 有什么提示吗?修改/更改标题也很好,谢谢!

1 个答案:

答案 0 :(得分:0)

有多种方法可以自定义页面的页眉/页脚:

  • 在CMS中实施自定义,您可以在其中为不同页面设置不同的页面模板,包括备用的页眉/页脚。这种方法将与Spartacus的构建方式最一致,因为页面是数据驱动的,并且组件映射是以通用方式完成的。您无需触摸spartacus代码即可获得不同的页眉和页脚。
  • 尝试使用网点。您面临的问题是,在解析页面模板时,页脚已经呈现,并且注册的插座不会有所作为。我可以想象这在网点的工作方式上有些混乱。我在Stackblitz上创建了一个使用插座的条件页脚的快速示例。
  • 实现自定义根组件(替换cx-storefront)并以自定义方式实现页脚。您可以利用页面布局和页面槽组件来呈现CMS内容。

希望能给您带来一两个想法。


有关页面特定样式的页面模板驱动类的更多信息。鉴于页眉/页脚没有从基于页面模板的类中受益(因为它仅在路由器出口内可用),您可以在您的应用程序中实现它,我为您更新了Stackblitz示例。