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

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

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 для достижения этой цели?


person r-r    schedule 04.05.2017    source источник


Ответы (1)


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

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

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

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

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

person Alan Mervitz    schedule 25.01.2019