首页 > 解决方案 > Sitefinity 个性化 | 外部站点有限页面

问题描述

我想个性化位于sitefinity环境之外的sitefinity内容块,即它们是网站页面(不是sitefinity页面的页面)中的嵌入块(由sitefinity提供支持的块)

我的个性化用例是基于消费者过去的浏览历史。

标签: content-management-systemsitefinitypersonalization

解决方案


最好的情况是使用数字体验云 (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);
        }
    });

推荐阅读