WFFM 中的自定义 MVC 视图

Custom MVC Views in WFFM

我正在将 Sitecore Web Forms for Marketers 应用于解决方案。为此,我需要三样东西:

  1. 从 rul
  2. 注入 JavaScript 的能力
  3. 重写所有生成的代码以使用 Foundation(而不是 Bootstrap)
  4. 能够阅读 "changed" 表单的提交数据。 IE。通过 JavaScript.
  5. 注入额外字段的形式

我最初的问题是第二点:我如何写这些视图?

我已关注这篇文章:http://www.hhogdev.com/blog/2015/september/customizing%20wffm%20in%20sitecore%208.aspx 但不幸的是,他没有详细说明如何为字段和表单生成正确的 names/ids。

任何人都可以指出正确的方向吗?

您链接到的博客 post 是基于 Sitecore 8.0 编写的,虽然模块是相同的,但 WFFM 的实现已经改变(不幸的是,IMO 更糟)。

我们目前正在将 WFFM 与 Foundation 一起使用,因此可以让它们一起工作,但您必须做一些事情。

我配置禁用 Bootstrap CSS,这将意味着 Bootstrap 标记但不包含 CSS 文件。我建议您尽可能围绕给定的设置设置样式,以避免将来的升级问题:

<settings>
  <setting name="WFM.EnableBootstrapCssRendering">
    <patch:attribute name="value">false</patch:attribute>
  </setting>
</settings>

如果您需要编辑标记,则可以在以下位置找到表单字段标记文件的默认视图:Website\Views\Form 和该文件夹下的 EditorTemplates 文件夹。这是踢球者。在 8.0 update-5 之前的版本中,标记不使用 Bootstrap 帮助器,因此标记全部存在。最新的实现隐藏了这一切,因此在我看来更难编辑。

如果您对 Bootstrap 标记感到困惑,请查看 WFFM 8.0 update-5 或更早版本的视图文件。标记更加明显,您应该能够(基本上)将它们移植到 Sitecore 8.1,然后根据需要修改标记(尽管我们发现添加正确的周围基础 DIV 就足够了)

我不知道你所说的第 1 点是什么意思,但对于第 3 点,你不能。 WFFM 仅适用于您在后端创建的字段,您使用 JS 创建的任何新字段都将丢失。如果您需要做一些聪明的事情,那么请使用隐藏字段(不幸的是,这需要添加自定义字段类型),然后使用您需要传回服务器的数据填充此隐藏字段。