WFFM中的自定义MVC视图



我正在为营销人员提供Sitecore Web Forms的解决方案。要做到这一点,我需要做三件事:

  1. 从规则中注入JavaScript的能力
  2. 重写所有生成的代码以使用Foundation(而不是Bootstrap)
  3. 能够读取"更改"表单的提交数据。Ie。通过JavaScript注入额外字段的表单

我的第一个问题是第二点:我怎么写这些视图?

我遵循了这篇文章:http://www.hhogdev.com/blog/2015/september/customizing%20wffm%20in%20sitecore%208.aspx,但不幸的是,他没有详细说明如何为字段和表单生成适当的名称/id。

谁能给我指个正确的方向吗?

你链接到的博客文章是基于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>

如果您需要编辑标记,那么表单字段标记文件的默认视图可以在:WebsiteViewsFormEditorTemplates文件夹下找到。问题来了。在8.0 update-5之前的版本中,标记没有使用Bootstrap帮助器,因此标记全部存在。在我看来,最新的实现隐藏了这一切,因此更难编辑。

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

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

最新更新