我有营销人员的网络表单,我需要通过其他地方的代码“运行”该网络表单。
有没有办法加载webform并运行其执行操作?例如,对于常规的sitecore项目,我可以根据其ID获取它,但我似乎无法找到将常规sitecore项目转换为WFFM项目然后执行其保存操作(并可能设置)的方法它的领域)。
答案 0 :(得分:1)
听起来您正试图将数据插入WFFM数据库而无需运行WFFM提交操作?我做对了吗?
如果是这样,您可以使用以下代码将表单代码提交到WFFM数据库,它将在该表单的报告页面中无缝显示:
假设您在此类列表中填写了填写的字段列表:
public class WffmField
{
public string FieldName { get; set; }
public string FieldGuid { get; set; }
public string FieldValue { get; set; }
}
现场guid将是sitecore的指南:
然后您可以保存到WFFM数据库:
// This should be populated with the data you want to send to the WFFM database
var fields = new List<WffmField>();
var wffmDatabaseFields = fields.Select(GetWFFMDatabaseField).ToList();
Sitecore.Forms.Data.DataManager.InsertForm(
formId: new Sitecore.Data.ID("<Form guid here>"),
fields: new AdaptedResultList(wffmDatabaseFields),
sessionID: AnalyticsTracker.SessionId,
data: null);
希望这有帮助!