content-management-system - Sitefinity 个性化 | 外部站点有限页面
问题描述
我想个性化位于sitefinity环境之外的sitefinity内容块,即它们是网站页面(不是sitefinity页面的页面)中的嵌入块(由sitefinity提供支持的块)
我的个性化用例是基于消费者过去的浏览历史。
解决方案
最好的情况是使用数字体验云 (DEC) 和角色来查看用户是否属于角色(根据您的特定规则配置)。您可以使用 javascript SDK 记录交互(页面浏览量......),也可以使用 SDK 检查他们属于哪个角色,然后获取不同的内容块。
希望这两个示例方法将帮助您开始。
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);
}
});
推荐阅读
- java - 为什么 .equals() 方法没有被 Java 中的基元数组覆盖?
- javascript - 每次使用 D3 V3 或 JavaScript 单击按钮时,使 svg 元素的颜色变暗
- python - 使用 Apache Beam 连接到本地 App Engine 数据存储区
- visual-studio-2017 - 未找到指定的 Microsoft.NETCore.App',版本 '2.0.7'
- javascript - Javascript:如果滚动到特定目标淡出,如果再次向上滚动,则淡入
- spring - 为单个 Spring Boot 实例配置多个模板解析器
- java - 自动发送电子邮件
- angular6 - angular 6 通用问题“未找到模块:错误:无法解析“/var/www/html/angular6/testing”中的“./dist/server/main”
- javascript - 通过 ajax 请求观察 div 突变
- javascript - Jquery .load 用于烧瓶\python 上的更新片段