我有一些预设颜色,想要添加到我的网站主题中。如何更改TinyMce的默认字体颜色调色板?
screenshot-with-shadow.png http://img407.imageshack.us/img407/4526/screenshotwithshadow.png
screenshot-with-shadow.png http://img407.imageshack.us/img407/4526/screenshotwithshadow.png
A. 简单但不太干净的方法是编辑源代码。找到文件tiny_mce.js并搜索字符串"000000,993300,333300,
" - 这是SplitButton颜色定义的开头。现在您可以根据自己的喜好编辑颜色。这将调整所有ColorSplitButton实例的颜色设置。
B. 另一种不像混合源代码那样肮脏的方法是在编辑器初始化后调整颜色。您需要向tinymce配置添加设置参数(或将其放置在您自己的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的其他属性(例如标题,背景颜色等)
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);
tinymce.init({
textcolor_map: [
'D7C0D0', 'color1',
'F7C7DB', 'color2',
]
})
嗯,有点晚了,但我的解决方案是:
1.假设您正在使用“textcolor”插件,请将“textcolor”文件夹复制到“plugins”目录中,并给它一个新名称(比如说“mytextcolor”)。这将是您的新插件名称(mytextcolor)。
2.在您的“mytextcolor”文件夹中打开plugin.min.js,在第12行找到默认颜色调色板。用新的颜色名称和代码修改它。
3.在您的tinymce配置中,将插件参数中的“textcolor”重命名为“mytextcolor”。
希望能对您有所帮助。
theme_name_text_colors: "#hexhex, #hexhex, #hexhex"
init()
函数中,您的颜色板将变为自定义。而且您仍然可以获得更多颜色按钮。