如何在TinyMce编辑器中更改默认字体调色板



我有一些预设的颜色,我想添加这些颜色,以配合我的网站主题。如何更改TinyMce中的默认字体调色板?

带阴影的屏幕截图.pnghttp://img407.imageshack.us/img407/4526/screenshotwithshadow.png

A简单但肮脏的方法是编辑源代码。取文件tiny_mce.js并搜索字符串"000000,993300,333300,"——这是SplitButton颜色定义的开始。您现在可以根据自己的喜好编辑颜色。这将调整所有ColorSplitButton实例的颜色设置。

B另一种不至于篡改源代码的方法是在编辑器初始化后调整颜色。您需要将设置参数添加到您的tinymce配置中(或将其放入您自己的tinyme插件中):

   setup : function(ed) {
      ed.onInit.add(function(ed) {
         $('.mceColorSplitMenu').find('#_mce_item_2').get(0).setAttribute('data-mce-color','#0202FF');
         $('.mceColorSplitMenu').find('#_mce_item_3').get(0).setAttribute('data-mce-color','#0203FF');
          ...
         $('.mceColorSplitMenu').find('#_mce_item_41').get(0).setAttribute('data-mce-color','#0241FF');
      });
   }

请注意,您可能也想更改SplitButton的其他属性(即标题、背景色…)

C最干净但最耗时的解决方案是使用自己的ColorSplitButton开发自己的插件在该控件元素的设置中包含您选择的颜色(请查看tinymce开发人员版本),有一个名为ColorSplitButton.js的文件。以下是一些包含颜色设置的代码:

    ColorSplitButton : function(id, s, ed) {
        var t = this;
        t.parent(id, s, ed);
        /**
         * Settings object.
         *
         * @property settings
         * @type Object
         */
        t.settings = s = tinymce.extend({
            colors : '000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF',
            grid_width : 8,
            default_color : '#888888'
        }, t.settings);

是否尝试在编辑器配置中使用"textcolor_map"设置?

tinymce.init({
  textcolor_map: [
    'D7C0D0', 'color1',
    'F7C7DB', 'color2',
  ]
})

我也试图找到如何更改Tinymce中的默认字体调色板。大多数答案(如上面的答案)都指向使用基于"theme_advanced_"的配置属性之一。然而,"高级"主题没有与版本4打包,版本4默认使用的"现代"主题也没有公开相同的属性。无论如何,独立于主题的解决方案会更可取。

瞧!快速查看"textcolor"插件会发现,当插件设置其颜色映射时,它首先会查看编辑器设置中的上述属性。

好吧,有点晚了,但我的解决方案是:

1.假设您使用的是"textcolor"插件,请复制"plugins"目录中的"textcolour"文件夹,并为其命名(比如"mytextcolor")。这将是你的新插件(mytextcolor)的名称

2.在"mytextcolor"文件夹中打开plugin.min.js,在第12行可以找到默认调色板。用新的颜色名称和代码进行修改。

3.在您的tinymce配置中,将插件参数中的"textcolor"重命名为"mytextcolour"

希望对有所帮助

theme_name_text_colors: "#hexhex, #hexhex, #hexhex"

把它放在init()功能中,你的调色板就会变成自定义的。你仍然可以得到更多的颜色按钮。

参考:https://www.youtube.com/watch?v=dySkwdZG9J0

最新更新