【问题标题】:Sitecore - WFFM : Link contact facet with user profile fieldSitecore - WFFM:将联系人方面与用户个人资料字段链接
【发布时间】:2015-06-24 14:30:56
【问题描述】:

我正在开发 Sitecore 8 Update 2 网站。 我还在为营销人员使用网络表单。

我已经使用 WFFM 设置了登录和注册表单。我能够将表单上的字段与用户个人资料的字段(在用户管理中使用的那个)链接起来

但是,当我想制作“更新联系方式”时,我无法像以前那样将表单上的字段与配置文件字段链接起来。现在我必须选择一个“接触面”。我添加了其中一个,WFFM 对此进行了处理,因此现在我可以将表单上的字段与构面链接。

我缺少的最后一个链接是将这个方面(存储在 Analytics - MongoDB 中)链接到配置文件字段。

有谁知道如何做到这一点?

奖励:这开始是一个稍微不同的问题,您可以在此处阅读有关此问题的更多信息: How to update sitecore user with webforms for marketers ( Update Contact Details )

【问题讨论】:

  • 默认 WFFM 使用用户名并将其创建为 MongoDB 中的标识符。因此,您可以将联系人标识符与 aspnet 成员表中的用户名联系起来。

标签: mongodb webforms sitecore web-forms-for-marketers


【解决方案1】:

首先您需要添加创建用户保存操作并将电子邮件地址设置为用户名。

然后您需要在此之后直接添加用户登录保存操作。这是因为更新联系人详细信息保存操作仅适用于登录用户。

然后您可以使用更新联系人详细信息保存操作。此操作将在登录用户名下的 MongoDB 中创建数据 - 因此,如果您转到 Identifiers 集合 MongoDB,将创建一个新条目(请参见下面的屏幕截图)。

简而言之,aspnet_membership 数据和 MongoDB 数据是通过 WFFM 中的用户名链接的。在 aspnet_users - UserName 和 MongoDB 中通过标识符。您不能将它们所属的 MongoDB 和 aspnet_profile 数据混合在两个不同的地方。

因此,一旦您在 WFFM 中创建了此用户,您就可以使用分析 API 使用标识符调用他们的详细信息:

Tracker.Current.Session.Identify(username);
var personalInfo = Tracker.Current.Contact.GetFacet<IContactPersonalInfo>("Personal");

希望这是有道理的:)

【讨论】:

  • (注册页面有“创建用户保存动作”和“用户登录保存动作”,登录页面有“用户登录保存动作”)。因此,即使用户在进入编辑帐户页面时已经登录,我仍然需要编辑帐户页面上的所有 3 个保存操作?
  • 不,如果用户已经登录,则不需要用户登录 - 只有在创建新用户并且您想同时更新联系方式时。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-09
  • 2012-01-20
  • 1970-01-01
  • 1970-01-01
  • 2013-04-29
  • 1970-01-01
  • 2012-09-06
相关资源
最近更新 更多