我有一些我想添加的预设颜色,这与我网站的主题一致。如何更改TinyMce中的默认字体调色板?
screenshot-with-shadow.png http://img407.imageshack.us/img407/4526/screenshotwithshadow.png
答案 0 :(得分:3)
A。简单但又脏的方法是编辑源代码。取文件tiny_mce.js并搜索字符串“000000,993300,333300,
” - 这是SplitButton颜色定义的开始。您现在可以根据需要编辑颜色。这将调整所有ColorSplitButton实例的颜色设置。
B。另一种方式,不像弄乱源代码那么脏,就是在编辑器初始化后调整颜色。您需要将the setup parameter添加到您的tinymce配置中(或将其放入您自己的一个插件中):
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的其他attriubtes(即标题,背景颜色......)
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);
答案 1 :(得分:2)
尝试在编辑器配置中使用'textcolor_map'设置?
tinymce.init({
textcolor_map: [
'D7C0D0', 'color1',
'F7C7DB', 'color2',
]
})
我也试图找到如何更改Tinymce中的默认字体调色板。大多数答案如上所述指向使用基于'theme_advanced_'的配置属性之一。但是,“高级”主题未与版本4打包在一起,版本4默认使用的“现代”主题不会公开相同的属性。无论如何,主题独立解决方案将是更可取的。
而且!快速查看“textcolor”插件会发现,当插件设置其色彩映射时,它首先会在编辑器的设置中查看上述属性。
答案 2 :(得分:1)
嗯,这有点晚了,但我的解决方案是:
1.假设您正在使用'textcolor'插件,请复制'plugins'目录中的'textcolor'文件夹并为其指定一个新名称(例如'mytextcolor')。这将是您的新插件(mytextcolor)的名称
2.在你的'mytextcolor'文件夹中打开plugin.min.js,在第12行你会找到 默认调色板。用新的颜色名称和代码修改它。
3.在你的tinymce配置中,将插件参数中的'textcolor'重命名为'mytextcolor'
希望有所帮助
答案 3 :(得分:0)
https://www.youtube.com/watch?v=dySkwdZG9J0
theme_name_text_colors:"#hexhex,#hexhex,#hexhex"
将它放在init()函数和boom中,您的颜色托盘是自定义的。你仍然可以获得更多颜色按钮。没有额外的插件。没有疯狂的工作。