Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何使用CMS页眉和页脚向Spartacus添加有角度的页面?_Angular_Spartacus Storefront - Fatal编程技术网

Angular 如何使用CMS页眉和页脚向Spartacus添加有角度的页面?

Angular 如何使用CMS页眉和页脚向Spartacus添加有角度的页面?,angular,spartacus-storefront,Angular,Spartacus Storefront,需要在我的Spartacus应用程序中创建两个独立页面,这些页面不是通过CMS路由创建的,但它们是有角度的页面(它们的路由是有角度的)。但是这些页面需要像其他CMS页面(PDP、PLP等)一样具有页眉和页脚。是否可以从CMS页面中扩展页眉和页脚通用组件以用于角度页面?最简单的方法是使用包含页眉和页脚的模板创建一个空CMS页面。页面本身不需要有组件,因为您将直接在angular中硬编码这些组件 最简单的方法是为这些页面设置根路由,例如“内容”: CMS内容页应配置有/content,以便所

需要在我的Spartacus应用程序中创建两个独立页面,这些页面不是通过CMS路由创建的,但它们是有角度的页面(它们的路由是有角度的)。但是这些页面需要像其他CMS页面(PDP、PLP等)一样具有页眉和页脚。是否可以从CMS页面中扩展页眉和页脚通用组件以用于角度页面?

最简单的方法是使用包含页眉和页脚的模板创建一个空CMS页面。页面本身不需要有组件,因为您将直接在angular中硬编码这些组件

最简单的方法是为这些页面设置根路由,例如“内容”:

CMS内容页应配置有
/content
,以便所有这些URL都支持此CMS内容页

此外,您应该在应用程序中配置与这些路线匹配的角度路线。可以使用标准角度布线功能,包括子布线。后者可能会避免对同一CMS页面的重复调用(但这是从头开始的)


另一种方法是使用
cmsPageGuard
,它需要一个带有
pageLabel
的数据对象。这提供了以下优点:(1)将店面URL与CMS中的页面标签分离,(2)无需使用“根路由”。缺点是硬编码的
数据.pageLabel
必须与CMS中的
页面.label
相对应。下面是一个片段:

{
    path: 'demo/static/page',
    component: PageLayoutComponent,
    data: { pageLabel: '/faq' },
    canActivate: [CmsPageGuard],
}

多亏了托比,这完全有道理。酷@AneeshNair。发帖后,我意识到我忘了提供另一个示例,我只是将其添加到原始答案中。