Hybris 从一个 cmssite 重定向到另一个 cmssite

Hybris redirect from a cmssite to another cmssite

我有 b2c 和 b2b 网站。当 b2b 客户注销时,它应该被重定向到 b2c 站点主页。

我在下面试过了。它适用于 "www.google.com" 等其他站点,但重定向到另一个 cmssite 不起作用。

httpResponse.sendRedirect(encodedRedirectUrl);

我还尝试在重定向之前将目标 cmssite 设置为 currentSite,但没有成功

我相信会话站点和其他参数没有从当前站点清除或为目标站点填充。指导我正确的方法。

关于 CMS 站点和会话,您需要了解两件事:

  1. 当您第一次访问 hybris 店面时,hybris 会确定此特定请求的 CMS 站点。该请求与您的 CMS 站点中的 URL 模式相匹配。第一个具有匹配模式的 CMS 站点被放入会话中。还设置了相应的目录等等。
  2. 在会话中设置 CMS 站点时,不再进行 1. 中的过程。每个到达的请求都将与会话中的 CMS 站点相关联。

您需要做的是:

或者:

在执行重定向之前从会话中清除 CMS 站点,因此 CMS 站点过滤器将被迫再次确定 CMS 站点。

或:

注销时将会话中的 b2b 站点替换为 b2c CMS 站点。然后做重定向。


检查这些 类:

my.storefront.filters.cms.CMSSiteFilter

特别是方法:processNormalRequest

de.hybris.platform.acceleratorcms.context.impl.DefaultContextInformationLoader#initializeSiteFromRequest