В лучшем случае было бы использовать Cloud Experience Cloud (DEC) и персонажи, чтобы увидеть, попадает ли пользователь в персону (настроенную в соответствии с вашими конкретными правилами).Вы можете использовать javascript SDK для регистрации взаимодействий (просмотров страниц ...), а также использовать SDK, чтобы проверить, к какой персоне они относятся, а затем захватить другой блок контента.
https://docs.sitefinity.com/dec/api-v2/for-developers-leverage-the-javascript-sdk-to-capture-client-side-behavior
Надеюсь, что два примера методов помогут вам начать работу.
var sendLoginInteraction = function () {
global.DecClient.writeInteraction({
S: CurrentUser.Id,
P: 'View',
O: 'Page Name'
});
global.DecClient.writeSubjectMetadata(CurrentUser.Id, {
Email: CurrentUser.Email
});
global.DecClient.flushData();
};
var checkIfUserIsInPersona = function () {
var personaIds = [ManagerPersonaId];
global.DecClient.isInPersonas(personaIds, CurrentUser.Id).then(function (data) {
var personas = data.toJSON().items;
if (personas.length) {
personas.forEach(function (persona) {
if (persona.Id === ManagerPersonaId) {
isInManagerPersona = true;
personalizationReportSegment = 'IT Manager';
}
}, this);
}
});