ADX STUDIO - Установите домашнюю страницу по умолчанию для определенного пользователя портала

У меня есть два вида пользователей на моем портале: пользователь-клиент и агент-пользователь. Я хочу менять домашнюю страницу пользователя Агента по умолчанию каждый раз, когда он / она входит в систему или нажимает кнопку домашней страницы на веб-сайте вместо домашней страницы клиента по умолчанию.ie (Домашняя страница агента) В настоящее время я смог добиться этого с помощью следующего кода:

var userId = AuthenticationManager.AuthenticationResponseGrant.Identity.GetUserId();
var user = await UserManager.FindByIdAsync(userId);

var portal = PortalCrmConfigurationManager.CreatePortalContext();
var usercontext = portal.User;
var context = portal.ServiceContext;
var contact = (from c in context.CreateQuery("contact")
               where c["contactid"].Equals(userId)
               select c).First();
var isAgentUser = contact.GetAttributeValue<bool>("bh_isagentuser");

if (isAgentUser == true)
{
    return Redirect("/agent-home");
}
else
{
    return RedirectToLocal(returnUrl);
}

Я хочу знать, есть ли другой выход для студии ADX, чтобы достигнуть этого?

0 ответов

Вместо перенаправления на другую веб-страницу вы можете изменить информацию, отображаемую на домашней странице, в зависимости от обнаруженного типа пользователя. Простым примером использования Liquid будет включение другого веб-шаблона в зависимости от типа пользователя:

{% if user.bh_isAgentUser %}
  {% include "Agent Home" %}
{% else %}
  {% include "Default Home" %}
{% endif %}

Вы бы добавили различную логику рендеринга домашней страницы внутри каждого из Agent Home а также Default Home веб-шаблоны.

Вышеупомянутая жидкость может быть вставлена ​​в поле копирования домашней страницы, или домашняя страница может быть изменена для использования веб-шаблона с этой жидкостью внутри. Этот выбор будет зависеть от структурных элементов отображаемой веб-страницы, которые необходимо изменить.

Для получения дополнительной информации см. Документацию по объекту пользователя, тегу include и веб-шаблонам.

Другие вопросы по тегам