• Odoo Website 替换 Summernote 为第三方富文本编辑器


    随着用odoo的人越来越多,奇葩的需求也是越来越多。。。。

    这不,有同学就想替换掉website forum里边的summernote控件,花了点时间研究了一下,先说结论:替换是可行的。

    先上替换之后的图,这里替换的是kindeditor:

    要替换成别的,也是可以的,只不过需要使用odoo的前端开发规则,本模块计划做成一个demo供参考。

    替换步骤:

    1. 首先将kindeditor的源文件引入到新模块中

    2. 将原来的summernote空间隐藏掉,并用kindeditor替代:

    $('textarea.load_editor').each(function () {
            var $textarea = $(this);
            var $form = $textarea.closest('form');
    
            $('.note-editor').hide();
            KindEditor.ready(function(K){            
                window.editor=K.create($textarea,{
                    themeType:'default',
                    uploadJson : '/filemanager',
                    fileManagerJson : '/filemanager',
                    allowFileManager : true,
                })
            });
    
            $form.on('click', 'button, .a-submit', function () {
                window.editor.sync();
                window.editor.html($textarea.val());
            });
        });

    3. 你会发现虽然引用了新的控件,但是样式在提交后都消失不见了。。。。

    解决方法:设置content字段的strip_style属性为false

    4. 最后我们来解决图片上传的问题:

    @http.route('/filemanager',type='http',auth="public",website=True,csrf=False)
        def _store_file(self,*args,**kwargs):
            img = kwargs['imgFile']
            path = os.path.abspath(os.path.realpath(__file__)).split('controller')[0]+'static/files'
            #os.path.abspath(join(os.getcwd(),'/web_kindeditor/static/files'))
            filepath = path+'/'+img.filename
            img.save(filepath)
            url = request.env['ir.config_parameter'].get_param('web.base.url')+"/web_kindeditor/static/files/"+img.filename
            return json.dumps({'error':0,'url':url})

    5. 9.0 以后web url访问会有csrf验证的问题,这就是另外一回事儿了,有空再说。

    Over。

    模块共享地址依旧见群公告。

  • 相关阅读:
    codeforces 938 C. Constructing Tests
    codeforces 981 C.Useful Decomposition
    Wannafly 挑战赛16 A 取石子
    codeforces 873 D. Merge Sort(分治)
    lightoj 1158
    lightoj 1226
    lightoj 1382
    lightoj 1283
    hdu 5445 Food Problem (多重背包)
    light 1205
  • 原文地址:https://www.cnblogs.com/kfx2007/p/5624425.html
Copyright © 2020-2023  润新知