以编程方式为营销人员保存Sitecore Web表单

杰斯珀·霍夫

如何在不使用提交按钮的情况下保存表单(页面上还有另一个触发器可用于运行保存代码)。表单永远不会显示给用户,除非有更明智的方法,否则我只需要将其保存到营销者数据库的Web表单中即可。

我可以用它把它弄出来

Sitecore.Forms.Core.Data.FormItem form =
 Sitecore.Forms.Core.Data.FormItem.GetForm(formID);

但是,我想

  1. 更改表单字段中的数据

(即类似的东西)

form.Fields["Name"] = "Test name"; 
// this wont work, I dont know how to access the field's value before I store it.
  1. 将表单数据保存在sitecore中供市场商项目数据库使用的Web表单中。

修改字段后,我当然要保存它。

杰斯珀·霍夫

要做的方法是首先获取表单的副本,使用AdaptedControlResult列表设置其字段,然后使用InsertForm保存它。这样,它可以正确地出现在WFFM的数据表中。

代码中使用的customerInfo来自CartHelper,但可以是任何东西。

码:

string formID = "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}";
DataUri uri = new DataUri(new ID(formID));
Sitecore.Data.Items.Item formItem = Sitecore.Context.Database.GetItem(uri);

// if the item exists, run through all the known fields and add the values from the customerinfo into them.
if (formItem != null)
{
   List<AdaptedControlResult> acrList = new List<AdaptedControlResult>();
   Sitecore.Data.Items.Item[] fieldItems = formItem.Axes.GetDescendants();

   foreach (Sitecore.Data.Items.Item fieldItem in fieldItems) //.Where(x => x.TemplateName == "Field"))
   {
      if (fieldItem.Name == "E-mail")
      {
         acrList.Add(new AdaptedControlResult(new ControlResult(fieldItem.Name, System.Web.HttpUtility.UrlDecode(customerInfo.Email), string.Empty) { FieldID = fieldItem.ID.ToString(), FieldName = fieldItem.Name, Value = System.Web.HttpUtility.UrlDecode(customerInfo.Email) }, true));
         continue;
      }

   // same for all other fields.
   }

   // save data
   if (acrList.Count > 0)
   {
      AdaptedResultList arl = new AdaptedResultList(acrList);

      try
      {
         Sitecore.Forms.Data.DataManager.InsertForm(formItem.ID, arl, Sitecore.Data.ID.NewID, null);
      }
      catch (Exception ex)
      {
         // Log data here
      }
   }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Sitecore Web表单读取数据以获取市场营销人员数据库

来自分类Dev

适用于营销人员的Sitecore Web表单可以节省操作

来自分类Dev

营销人员的Sitecore Web表单2.4在内容交付服务器上上传文件错误(WFFM)

来自分类Dev

前端HTML格式的营销人员Web表单报表

来自分类Dev

禁用市场营销人员的Web表单分析

来自分类Dev

为什么“营销人员的Web表单”无法在我的自定义保存操作中正确填充所选的DropList值?

来自分类Dev

验证码图片未以Sitecore Web形式呈现给营销人员

来自分类Dev

带有占位符属性的市场营销人员Web表单(WFFM)HTML输入标签

来自分类Dev

营销人员自定义提交操作错误消息的Web表单

来自分类Dev

针对营销人员的网络表单上的“保存操作”会引发异常

来自分类Dev

以编程方式创建的表单为空

来自分类Dev

在Web表单中保存和检索状态

来自分类Dev

从python提交Web表单并保存结果

来自分类Dev

保存表单Web2Py的作者

来自分类Dev

如何使用Google跟踪代码管理器和Sitecore的营销人员网络表单在提交表单成功后正确实施事件?

来自分类Dev

营销人员的网络表单不支持多种语言

来自分类Dev

如何在Drupal中以编程方式更新现有的已提交Web表单提交?

来自分类Dev

以编程方式发送Salesforce Web到潜在客户的表单数据

来自分类Dev

编辑以编程方式创建的数据表ASP.NET Web表单

来自分类Dev

angular js以编程方式将表单设置为脏

来自分类Dev

以编程方式将表单设置为按钮的父级

来自分类Dev

我的Web表单未成功保存到数据库

来自分类Dev

将数据发布到Marketer Sitecore的“自定义保存操作” Web表单中的下一页

来自分类Dev

无法以编程方式提交表单

来自分类Dev

以编程方式创建“好的”表单

来自分类Dev

在提交表单时以编程方式将所有表单字段设置为ng-touch

来自分类Dev

将单个键盘快捷方式分配给Web表单上的单选按钮

来自分类Dev

如何以编程方式为Kendo UI网格(AngularJS)填充添加行表单

来自分类Dev

裁剪图像 asp.net web 表单 - 无法呈现保存的字节

Related 相关文章

  1. 1

    从Sitecore Web表单读取数据以获取市场营销人员数据库

  2. 2

    适用于营销人员的Sitecore Web表单可以节省操作

  3. 3

    营销人员的Sitecore Web表单2.4在内容交付服务器上上传文件错误(WFFM)

  4. 4

    前端HTML格式的营销人员Web表单报表

  5. 5

    禁用市场营销人员的Web表单分析

  6. 6

    为什么“营销人员的Web表单”无法在我的自定义保存操作中正确填充所选的DropList值?

  7. 7

    验证码图片未以Sitecore Web形式呈现给营销人员

  8. 8

    带有占位符属性的市场营销人员Web表单(WFFM)HTML输入标签

  9. 9

    营销人员自定义提交操作错误消息的Web表单

  10. 10

    针对营销人员的网络表单上的“保存操作”会引发异常

  11. 11

    以编程方式创建的表单为空

  12. 12

    在Web表单中保存和检索状态

  13. 13

    从python提交Web表单并保存结果

  14. 14

    保存表单Web2Py的作者

  15. 15

    如何使用Google跟踪代码管理器和Sitecore的营销人员网络表单在提交表单成功后正确实施事件?

  16. 16

    营销人员的网络表单不支持多种语言

  17. 17

    如何在Drupal中以编程方式更新现有的已提交Web表单提交?

  18. 18

    以编程方式发送Salesforce Web到潜在客户的表单数据

  19. 19

    编辑以编程方式创建的数据表ASP.NET Web表单

  20. 20

    angular js以编程方式将表单设置为脏

  21. 21

    以编程方式将表单设置为按钮的父级

  22. 22

    我的Web表单未成功保存到数据库

  23. 23

    将数据发布到Marketer Sitecore的“自定义保存操作” Web表单中的下一页

  24. 24

    无法以编程方式提交表单

  25. 25

    以编程方式创建“好的”表单

  26. 26

    在提交表单时以编程方式将所有表单字段设置为ng-touch

  27. 27

    将单个键盘快捷方式分配给Web表单上的单选按钮

  28. 28

    如何以编程方式为Kendo UI网格(AngularJS)填充添加行表单

  29. 29

    裁剪图像 asp.net web 表单 - 无法呈现保存的字节

热门标签

归档