Перенаправление Hybris из cmssite в другой cmssite - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть сайт b2c и b2b.Когда клиент b2b выходит из системы, он должен быть перенаправлен на домашнюю страницу сайта b2c.

Я попробовал ниже.Это работает для других сайтов, таких как "www.google.com", но перенаправление на другой сайт не работает.

httpResponse.sendRedirect(encodedRedirectUrl);

Также я попытался установить целевой сайт на текущий сайт до перенаправления, но не повезло

Я считаю, что сайт сеанса и другие параметры не удаляются с текущего сайта или не заполняются для целевого сайта.Веди меня правильно, как это сделать.

1 Ответ

0 голосов
/ 30 ноября 2018

Есть две вещи, которые необходимо знать о сайтах CMS и сеансе:

  1. При первом доступе к витрине магазина hybris hybris определяет сайт CMS для этого конкретного запроса.Запрос сопоставляется с шаблоном URL на ваших сайтах CMS.Первый сайт 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

...