Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Summernote令牌\模板插入和hilighting?_Jquery_Summernote - Fatal编程技术网

Jquery Summernote令牌\模板插入和hilighting?

Jquery Summernote令牌\模板插入和hilighting?,jquery,summernote,Jquery,Summernote,我正在尝试使用summernote允许用户编辑电子邮件模板。我想让他们能够插入模板/令牌项,例如{{name}。理想的情况下,我想它hi-light这个东西,显示他们在编辑模板时,他们有自己的模板 代码示例: $('summernote').summernote({ height: 225, callbacks: { onBlur: function(contents

我正在尝试使用summernote允许用户编辑电子邮件模板。我想让他们能够插入模板/令牌项,例如{{name}。理想的情况下,我想它hi-light这个东西,显示他们在编辑模板时,他们有自己的模板

代码示例:

 $('summernote').summernote({
                    height: 225,
                    callbacks: {
                        onBlur: function(contents, $editable) {
                            var rx = /{([^}]+)}/;
                            var instance = new Mark("div.panel-body");
                            var regex = new RegExp(rx, 'g');
                            instance.markRegExp(regex);
                        },
                    },
                    hint: {
                        mentions: ['name', 'test'],
                        match: /\B{{(\w*)$/,
                        search: function (keyword, callback) {
                            callback($.grep(this.mentions, function (item) {
                                return item.indexOf(keyword) == 0;
                            }));
                        },
                        content: function (item) {
                            return '{{' + item + '}}';
                        }
                    }
                });
  • 我使用mark.js在blur上标记与模板regex匹配的项
  • Mark.js添加自己的标记,然后将这些标记拉入保存的数据summernote(“代码”)
  • 必须有一个更简单的方法/更好的解决方案,让它工作的唯一方法是,在将其保存到数据库之前,返回并去掉所有的mark.js标记,我不想这样做(希望将UI内容隔离)
在考虑这个实现时,基于这样的东西为summernote编写一个插件:然后在保存时删除特殊标记的函数似乎是我的最佳选择,但是如果有人这样做了,或者这个已经存在,我宁愿不要重新发明轮子

tldr

  • summernote是否有允许模板\令牌插入和hilighting的插件
  • 有没有一种方法可以在不添加标记的情况下标记内容,这些标记在调用summernote.code时会被保存

如果您在表单中使用
文本区域
初始化了summernote,则可以中断表单提交。通过javascript进行必要的更改,然后以编程方式提交表单

我对我的summernote保存按钮插件()执行了类似的过程

如果用户试图导航离开当前页面以提醒他们保存内容,则当前检查内容是否已保存。我的CMS中有另一个版本,它在提交表单之前对textarea数据进行编码,以绕过一些服务器管理员,这些管理员对iFrame之类的内容进行严格的数据过滤,以便使用iFrame嵌入youtube视频

顺便说一句,我也是该项目中较新的开发人员之一,我很乐意帮助解决您的问题