我目前正在确定是否在我正在开展的项目中包含营销人员的Web表单。该网站将是一个具有丰富UI的响应式设计,因此我希望能够完全控制表单的呈现,例如标签,输入字段等,而不是必须修改WFFM SitecoreSimpleFormAscx.ascx
文件或相关的css文件。
目前是否有任何方法,使用C#代码,将一些表单数据提交到已在Sitecore中创建的Web Forms for Marketers表单(假设我已了解所有字段)? WFFM reference guide有一个代码段,用于访问已提交的网络表单数据,但只提交一些内容。
答案 0 :(得分:2)
如果您不想深入了解表单的自定义控件,可以尝试通过响应式页面中的JavaScript对包含WFFM表单的页面执行POST。或者,您可以在页面上嵌入并隐藏wffm表单,并再次使用脚本驱动它。我认为第二种方法会更好,因为它可以让您更直接地响应验证失败。
答案 1 :(得分:0)
您可以使用以下代码将表单代码提交到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);
希望这有帮助!