Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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
SAP Spartacus创建登录弹出窗口_Sap_Spartacus Storefront - Fatal编程技术网

SAP Spartacus创建登录弹出窗口

SAP Spartacus创建登录弹出窗口,sap,spartacus-storefront,Sap,Spartacus Storefront,我需要创建注册/登录弹出窗口 标题组件位于所有页面上 我有登录btn在标题 我有页面/登录/使用插槽主体内容插槽寄存器注册 我不知道有多少组件可以添加到BodyContentSlot注册表中,但我需要单击标题中的图标以在模式窗口中显示注册表,而无需进入注册页面。并在模式窗口中显示此插槽的所有组件 要直接实现您所描述的目标: 在模式中: 您需要使用CMS服务进行调用以获取页面数据(调用CMS页面数据的后端),或者如果您以前加载过数据,则需要获取数据(仅作为优化) 显示要显示的插槽内容,即在模式中静

我需要创建注册/登录弹出窗口

  • 标题组件位于所有页面上
  • 我有登录btn在标题
  • 我有页面/登录/使用插槽主体内容插槽寄存器注册 我不知道有多少组件可以添加到BodyContentSlot注册表中,但我需要单击标题中的图标以在模式窗口中显示注册表,而无需进入注册页面。并在模式窗口中显示此插槽的所有组件

  • 要直接实现您所描述的目标:

  • 在模式中:
  • 您需要使用CMS服务进行调用以获取页面数据(调用CMS页面数据的后端),或者如果您以前加载过数据,则需要获取数据(仅作为优化)
  • 显示要显示的插槽内容,即在模式中静态使用
    cx页面插槽
    组件,并将
    位置
    作为输入传递
  • 棘手的是,该组件从CmsService获取当前页面的插槽,即购物车页面(基于路由/购物车),而不是您在模式中通过编程加载的页面数据。因此,您需要定制CmsService以返回给定页面(寄存器)的特定插槽的CMS数据,即使它不是当前页面数据的一部分

  • 我在我的组件this.store.select(cmsselector.getPageData({id:'/login',type:PageType.CONTENT_PAGE}))中尝试了这个方法;它在登录页面上工作,但在另一个页面上不工作(此代码有效!!!This.cmsService.getPage({id:'/login',type:PageType.CONTENT_page})。订阅(value=>{console.log(value);});太好了!如果使用个性化设置,请注意(您为不同的用户显示或不使用一些CMS组件,即注册页面上的部分用户的个性化标记),那么您应该考虑调用“代码> CMSService .GETPage())/>代码>标记<代码>:Trime< /Cord> to(re)在每次尝试显示模式时加载页面数据。否则,您将看到与第一次加载的组件相同的组件…在没有个性化设置的情况下,这是100%正确的。