我有b2c和b2b站点。当b2b客户注销时,应该将其重定向到b2c网站主页。
我在下面试过了。它适用于其他网站,如"www.google.com",但重定向到另一个cmssite不起作用。
httpResponse.sendRedirect(encodedRedirectUrl);
此外,我尝试在重定向之前将目标cmssite设置为currentSite,但没有成功
我认为会话站点和其他参数没有从当前站点中清除,也没有为目标站点填充。指引我正确的方法。
关于CMS站点和会话,您需要了解两件事:
- 当您第一次访问hybris店面时,hybris会为该特定请求确定CMS站点。该请求与您的CMS站点中的URL模式相匹配。第一个具有匹配模式的CMS站点被放入会话中。还设置了相应的目录,依此类推
- 当CMS站点设置在会话中时,进程从1开始。不再进行。每个到达的请求都将与会话中的CMS站点相关联
您需要做的是:
任一:
在进行重定向之前,从会话中清除CMS站点,因此CMS站点筛选器将被迫再次确定CMS站点。
或:
注销时,将会话中的b2b站点替换为b2c CMS站点。然后进行重定向。
检查这些类:
my.storefront.filters.ms.CMSSiteFilter
尤其是方法:processNormalRequest
de.hybris.platform.caccertoms.context.inpl.DefaultContextInformationLoader#initializeSiteFromRequest