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 站点和会话,您需要了解两件事:
- 当您第一次访问 hybris 店面时,hybris 会确定此特定请求的 CMS 站点。该请求与您的 CMS 站点中的 URL 模式相匹配。第一个具有匹配模式的 CMS 站点被放入会话中。还设置了相应的目录等等。
- 在会话中设置 CMS 站点时,不再进行 1. 中的过程。每个到达的请求都将与会话中的 CMS 站点相关联。
您需要做的是:
或者:
在执行重定向之前从会话中清除 CMS 站点,因此 CMS 站点过滤器将被迫再次确定 CMS 站点。
或:
注销时将会话中的 b2b 站点替换为 b2c CMS 站点。然后做重定向。
检查这些 类:
my.storefront.filters.cms.CMSSiteFilter
特别是方法:processNormalRequest
de.hybris.platform.acceleratorcms.context.impl.DefaultContextInformationLoader#initializeSiteFromRequest
我有 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.cms.CMSSiteFilter
特别是方法:processNormalRequest
de.hybris.platform.acceleratorcms.context.impl.DefaultContextInformationLoader#initializeSiteFromRequest