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