营销人员的Web表单(WFFM)富文本字段类型

时间:2015-06-08 23:01:54

标签: telerik sitecore rich-text-editor web-forms-for-marketers

我需要在WFFM中创建自定义字段类型以接受富文本,并在前端为用户提供Sitecore的WYSIWYG编辑器。表单将用于创建内容项,富文本字段将映射到该项目模板上的字段。有没有人这样做过?可以利用Telerik编辑器吗?

1 个答案:

答案 0 :(得分:2)

如果您需要在前端使用简单的WYSISYG编辑器,那么您可以使用Web上提供的众多开源编辑器中的任何一种。除非您拥有相关许可,否则我会谨慎使用Sitecore中包含的Telerik编辑器。

如果您在表单上使用Multi-Line Text字段,Sitecore会在前端输出常规<textarea>。我建议您在/sitecore/system/Modules/Web Forms for Marketers/Settings/Meta data/Css Classes下添加一个自定义css类,并在表单设计器中选择字段时从左侧的CSS Class下拉选择该类,以便您可以将特定字段定位为WYSIYG'd。

添加对javascript文件的引用,然后实例化您的编辑器,传入上面定义的css类,只针对那些特定的textareas。

如果您使用的是ASP.Net MVC和CKEditor(例如):

  • /Views/Form/Index.cshtml中添加对javascript的引用。您可能需要从WFFM模块包中将其添加到Visual Studio中。
  • 或在<head>中添加引用: <script src="/path-to/ckeditor/ckeditor.js"></script>
  • 添加Index.cshtml的底部(或在结束</body>标记之前),实例化您的编辑器,仅针对具有特定css类的<textarea>

e.g。

<!-- markup generated by WFFM -->
<textarea class="wffm-rte" data-val="true" data-val-length="..." data-val-required="..." id="wffm-generated" name="wffm-generated"></textarea>
<script>
    // Replace all <textarea class="wffm-rte"> elements with CKEditor instances.
    CKEDITOR.replaceAll('wffm-rte');
</script>

请确保您清理传入的数据,不希望出现bobby tables的情况。