需要在我的Spartacus App中创建几个独立页面,这些页面不是通过CMS路由创建的,而是Angular页面(其路由在Angular中)。但是这些页面需要像其他CMS页面(PDP,PLP等)一样具有页眉和页脚。是否可以从CMS页面中扩展页眉和页脚公共组件以用于Angular页面?
答案 0 :(得分:1)
最简单的方法是使用包含页眉和页脚的模板创建一个空的CMS页面。它本身的页面不需要组件,因为您将直接用角度对它们进行硬编码。
最简单的方法是为这些页面设置 root 路由,例如“ content”:
CMS内容页面应配置为/content
,以便所有这些URL都将与此CMS内容页面一起支持。
此外,您应该在应用中配置与这些路线匹配的角度路线。您可以使用标准的角度布线功能,包括子路径。后者可能会避免对同一CMS页面的重复调用(但这是从顶部开始的。)
另一种方法是使用cmsPageGuard
,它需要一个带有pageLabel
的数据对象。这具有以下优点:(1)将店面URL与CMS中的页面标签分离,并且(2)无需使用“根路由”。缺点是,硬编码的data.pageLabel
必须与CMS中的page.label
相对应。这是一个片段:
{
path: 'demo/static/page',
component: PageLayoutComponent,
data: { pageLabel: '/faq' },
canActivate: [CmsPageGuard],
}