gpt4 book ai didi

c# - Sitecore WFFM - 使用 session 中的数据预加载表单

转载 作者:行者123 更新时间:2023-11-30 16:20:12 26 4
gpt4 key购买 nike

我试图在 Sitecore 中创建一个 WFFM 表单来编辑当前用户的配置文件,该配置文件存储在 session 中(不同于 Sitecore.Context.User.Profile)。为此,我正在寻找一种方法来使用 session 中的配置文件数据预加载表单的字段。

这能做到吗?我正在使用 Sitecore CMS 6.5 和 WFFM 2.3。

最佳答案

WFFM 无法开箱即用。我们选择了另一种方法来解决问题。在 /sitecore/layout/Renderings/Modules/Web Forms for Marketers/Form 下的表单呈现中,您有字段 Parameters,您可以在其中添加参数 FormTemplate 使用自定义用户控件来呈现表单:

FormTemplate=/sitecore modules/web/Web Forms for Marketers/Control/CustomSimpleFormAscx.ascx

在这个用户控件中,我们遍历每个字段并根据用户的自定义属性设置输入字段的值。当然,您可以将其增强到其他字段,例如选择等。这是一些示例代码:

public partial class CustomSimpleFormAscx : SitecoreSimpleFormAscx
{
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);

FillInUserData(this.FieldContainer);
}

private void FillInUserData(System.Web.UI.Control control)
{
foreach (System.Web.UI.Control child in control.Controls)
{
if (child is BaseControl)
{
if (child is InputControl)
{
InputControl field = (InputControl)child;
field.Text = Sitecore.Context.User.Profile.GetCustomProperty(field.ControlName);
}
}

FillInUserData(child);
}
}
}

关于c# - Sitecore WFFM - 使用 session 中的数据预加载表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14535572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com