查看个人访问者的Sitecore DMS配置文件键值



这真的是一个非常简单的问题,但我似乎在这里或SDN上都找不到答案。

如何查看为访问过该网站的用户存储的配置文件值

举个例子详细说明:假设我有3个访问者,正在访问该网站,他们都在某个时候点击了一个时事通讯项目,因此他们的电子邮件已经与他们的asp会话id配对,所以我会有类似的东西

  • User1@email.com和附加的asp会话id
  • User2@email.com和附加的asp会话id
  • User3@email.com和附加的asp会话id

现在让我们说User1@email.com他/她对摩托车有主要兴趣,我有一套轮廓钥匙包括汽车、摩托车和自行车。User1主要在摩托车页面上点击,因此该用户的密钥具有更高的值。

在某个地方,我应该能够看到用户的数据,以及他们存储的值(例如数据:汽车10,摩托车250,自行车40)。

我在哪里可以看到这些数据?还是这完全不可能?

您要查找的信息不是针对(ASP.Net成员资格)用户存储的,而是针对(Sitecore DMS)访问者存储的。

以下是查询当前访问者档案数据的一种方法:

var visit = Tracker.CurrentVisit;
foreach (var profile in visit.Profiles)
{
    if (profile.ProfileName.ToLower() == "interest")
    {
        // Look at individual values
        var values = VisitProfile.Parse(profile.PatternValues);
        var motorcycles = values["motorcycles"];
        // Look at pattern matched
        profile.UpdatePattern();
        var matchingPattern = profile.PatternLabel;
    }
}

我自己解决了。我可能应该提到,它将用于定制时事通讯。

首先,我得到邮件列表中附加的内部sitecore用户名。

var username = System.Web.Security.Membership.GetUserNameByEmail(email);

然后我可以从用户名中获得访客ID。

var visitor = Sitecore.Analytics.Automation.VisitorManager.GetVisitorByExternalUser(username);

在这个访问者中,我要查找的具有配置文件密钥的数据集位于访问者中。DataSet.Profiles

现在我只需要获得多个访问者,但这只是一个SQL调用的问题,而不是使用VisitorManager.GetVisitorByExternalUser并查找所有出现的访问者。

最新更新