WFFM - Sitecore:将下拉列表链接到用户个人资料
WFFM - Sitecore : linking dropdown to user profile
我正在使用 Sitecore 8 Update 2 和 WFFM 模块。
我使用 WFFM 创建了一个注册页面,除了下拉列表中的值(邮政编码、城市、性别……)外,一切正常
我 link 将所有表单字段编辑到配置文件字段,但这些值从未被填写。我尝试 link 将表单下拉列表编辑到配置文件的下拉字段,一个简单的配置文件上的文本字段,但它从未填写任何值。
有谁知道这是为什么以及我可以对 link 这些字段做什么?
听起来可能是这个错误:
使用 Robomongo 检查值是否正确存储在 MongoDB。
这是 WFFM 中的错误。要修复它,请将下面的代码添加到您的解决方案中,然后转到项目 /sitecore/system/Modules/Web Forms for Marketers/Settings/Field Types/List Types/Drop List
并将字段 MVC Type
设置为 {your namespace}.DropListField,[your dll name}
namespace {your namespace}
{
using System.Collections.Generic;
using System.Linq;
using Sitecore.Data.Items;
using Sitecore.Form.Core.Controls.Data;
/// <summary>
/// The drop list field.
/// </summary>
public class DropListField : Sitecore.Forms.Mvc.Models.Fields.DropListField
{
/// <summary>
/// Initialises a new instance of the <see cref="DropListField"/> class.
/// </summary>
/// <param name="item">
/// The item.
/// </param>
public DropListField(Item item)
: base(item)
{
}
/// <summary>
/// The get result.
/// </summary>
/// <returns>
/// The <see cref="ControlResult"/>.
/// </returns>
public override ControlResult GetResult()
{
var value = this.Value as List<string>;
var selectListItem = this.Items.SingleOrDefault(x => x.Value == value.First());
var str = selectListItem != null ? selectListItem.Text : string.Empty;
return new ControlResult(this.ID.ToString(), this.Title, selectListItem != null ? selectListItem.Value : string.Empty, str);
}
}
}
我正在使用 Sitecore 8 Update 2 和 WFFM 模块。 我使用 WFFM 创建了一个注册页面,除了下拉列表中的值(邮政编码、城市、性别……)外,一切正常
我 link 将所有表单字段编辑到配置文件字段,但这些值从未被填写。我尝试 link 将表单下拉列表编辑到配置文件的下拉字段,一个简单的配置文件上的文本字段,但它从未填写任何值。
有谁知道这是为什么以及我可以对 link 这些字段做什么?
听起来可能是这个错误:
使用 Robomongo 检查值是否正确存储在 MongoDB。
这是 WFFM 中的错误。要修复它,请将下面的代码添加到您的解决方案中,然后转到项目 /sitecore/system/Modules/Web Forms for Marketers/Settings/Field Types/List Types/Drop List
并将字段 MVC Type
设置为 {your namespace}.DropListField,[your dll name}
namespace {your namespace}
{
using System.Collections.Generic;
using System.Linq;
using Sitecore.Data.Items;
using Sitecore.Form.Core.Controls.Data;
/// <summary>
/// The drop list field.
/// </summary>
public class DropListField : Sitecore.Forms.Mvc.Models.Fields.DropListField
{
/// <summary>
/// Initialises a new instance of the <see cref="DropListField"/> class.
/// </summary>
/// <param name="item">
/// The item.
/// </param>
public DropListField(Item item)
: base(item)
{
}
/// <summary>
/// The get result.
/// </summary>
/// <returns>
/// The <see cref="ControlResult"/>.
/// </returns>
public override ControlResult GetResult()
{
var value = this.Value as List<string>;
var selectListItem = this.Items.SingleOrDefault(x => x.Value == value.First());
var str = selectListItem != null ? selectListItem.Text : string.Empty;
return new ControlResult(this.ID.ToString(), this.Title, selectListItem != null ? selectListItem.Value : string.Empty, str);
}
}
}