2017-07-30 38 views
0

如何添加在hallo.js编辑器中添加类的按钮?如何在w rich richtextfiled中添加自定义类

这是我的代码,但它不工作,它在wagtai; s编辑界面ony注册功能。最后,我需要添加任何类到选择或当前标记。 MB我可以在html中看到它,并手动添加类?

(function() { 
    (function(jQuery) { 
     return jQuery.widget('IKS.center', { 
      options: { 
       editable: null, 
       toolbar: null, 
       uuid: '', 
       buttonCssClass: 'center' 
      }, 
      populateToolbar: function(toolbar) { 
       var buttonElement, buttonset; 

       buttonset = jQuery('<span class="' + this.widgetName + '"></span>'); 
       buttonElement = jQuery('<span></span>'); 
       buttonElement.hallobutton({ 
        uuid: this.options.uuid, 
        editable: this.options.editable, 
        label: 'Center element', 
        command: 'addClass("center")', 
        icon: 'icon-horizontalrule', 
        cssClass: this.options.buttonCssClass 
       }); 
       buttonset.append(buttonElement); 


       buttonset.hallobuttonset(); 
       return toolbar.append(buttonset); 
      } 
     }); 
    })(jQuery); 

}).call(this); 

回答

2

正如Wagtail customisation docs提到的,你需要调用registerHalloPlugin。您还需要configure the whitelist以允许您的<span>元素富文本字段故意不要允许插入任意HTML。 (有关更多详细信息,请参见https://stackoverflow.com/a/38097833/1853523。)

但是,我强烈建议您使用StreamField,而不是扩展富文本编辑器。 W whole的整个目的是保持页面信息内容与其表示之间的分离。一个按钮说“中心此文本”纯粹是演示文稿 - 这是一个属于模板代码的细节,而不是您的文章内容。相反,你应该问:这个文本的目的是什么?是块引用,证言,广告吗?为创建的块类型,然后考虑如何在模板中设置它们的样式。您将通过这种方式对演示文稿有更多的控制权。

(延伸阅读:Rich text fields and faster horses

+0

我试图StreamFiled但不明白我怎么能做出例如几个图像。标题 - 图像 - 一些文字 - 另一个标题 - 另一个图像? – Mihail

+0

我看到它在循环可用!超!你年龄很大! – Mihail

相关问题