Ckeditor 通过皮肤更改特定编辑器工具栏按钮图标

Ckeditor 通过皮肤更改特定编辑器工具栏按钮图标,ckeditor,ckeditor4.x,Ckeditor,Ckeditor4.x,在阅读之后,我仍然想知道如何定义一个自己的按钮图标来覆盖核心的图像图标。我已经用一个文件icons/image.png(其中image是按钮的名称)实现了一个自定义皮肤,但这还不够。 我能做什么 要澄清:我希望替换此图标: 这是我针对类似场景的方法 我禁用了默认图像图标和其他不需要的图标 我添加了自己的按钮,对于图标,我使用了font-awesome图标,而不是默认的PNG //In the config.js var editor; var plgnIconSize = "16px"; va

在阅读之后,我仍然想知道如何定义一个自己的按钮图标来覆盖核心的图像图标。我已经用一个文件
icons/image.png
(其中
image
是按钮的名称)实现了一个自定义皮肤,但这还不够。 我能做什么

要澄清:我希望替换此图标:


这是我针对类似场景的方法

我禁用了默认图像图标和其他不需要的图标

我添加了自己的按钮,对于图标,我使用了font-awesome图标,而不是默认的PNG

//In the config.js
var editor;

var plgnIconSize = "16px";
var plgnIcons = ["fa-file-image-o", ...];
var plgnNames = 'img,... Other plugins';
var plgnDefault = 'fa-plug';

CKEDITOR.editorConfig = function (config) {

    config.toolbar = [
        { name: 'uploader', items: ['img'] },
        // Your other plugins as per your need goes here 
    ];

    config.extraPlugins = plgnNames;
});

CKEDITOR.on("instanceReady", function (event) {

    editor = event.editor;

    var this_instance = document.getElementById(event.editor.id + '_toolbox');

    var plugins = plgnNames.split(',');
    for (var i = 0; i < plugins.length; i++) {
       var this_button = this_instance.querySelector('.cke_button__' + plugins[i] + '_icon');

        if (typeof this_button !== null) {
            var icon;
            if (typeof plgnIcons[i] === 'undefined')
                 icon = plgnDefault
            else
                 icon = plgnIcons[i];

            if (typeof this_button !== notdefined) {
                 this_button.innerHTML = '<i class=" ' + plgnClass[i] + ' fa ' + icon + '" style="font: normal normal normal ' + plgnIconSize + '/1 FontAwesome !important;cursor: default;"></i>';
            }

        }
    }
});
//在config.js中
变量编辑器;
var plgnicize=“16px”;
变量plgnIcons=[“fa-file-image-o”,…];
变量plgnNames='img,。。。其他插件';
var plgnDefault='fa plug';
CKEDITOR.editorConfig=函数(配置){
config.toolbar=[
{name:'uploader',项:['img']},
//根据您的需要,您的其他插件可以在这里使用
];
config.extraPlugins=plgnNames;
});
CKEDITOR.on(“InstanceRady”,函数(事件){
editor=event.editor;
var this_instance=document.getElementById(event.editor.id+“_工具箱”);
var plugins=plgnNames.split(',');
for(var i=0;i
so TL;博士,你把图标换掉了?很公平,不过开销很大。。我无法想象没有比这更好的官方方式。。。但我想我会去的,谢谢你的灵感!是的!!我也没有找到解决办法,因此不久前我想出了这个窍门。但是通过这种方式,你不必去寻找图标,因为有很多很棒的字体图标可以玩。不客气。