CKEditor自定义插件按钮

时间:2009-07-16 19:28:04

标签: ckeditor

我为CKEditor编写了一个自定义插件 - 在所有方面都取得了成功,目前只保存一个:我不能,在我的生活中,弄清楚如何在编辑器的工具栏中自定义按钮上的图像。由于我是新用户,您必须点击查看附件图片;左上角突出显示的方块应该有漂亮的图片(就像大多数其他工具栏项一样)。

Screenshot

9 个答案:

答案 0 :(得分:72)

我编写了一个完整的tutorial,涵盖了CKeditor插件开发的各个方面,包括按钮,上下文菜单,对话框等。

答案 1 :(得分:15)

答案是设置按钮设置的图标属性,如下所示:

        editor.ui.addButton('your-plugin', {
            label: 'Your Plugin Label',
            command: 'YourPlugin',
            icon: this.path + 'images/your-plugin.jpg'
        });

您的插件目录应该有一个“images”子目录,您的按钮应该放在该子目录中。在上面的代码段中,将“your-plugin.jpg”替换为按钮的JPG,GIF或PNG图像。

当然,这个答案假设您知道如何使用Gimp,Photoshop等图像编辑器创建按钮图像。

答案 2 :(得分:10)

其他人的一些信息尝试为CKEditor 3.0编写插件。

我开始从插件/ flash复制源代码,现在有一个带有youtube徽标的按钮....这是一个来自plugins / youtube / plugin.js的摘录

editor.ui.addButton( 'YouTube',
            {
                label : editor.lang.common.youtube,
                command : 'youtube',
                icon: this.path + 'images/youtube.gif'
            });

此外,您还需要编辑语言文件....朗/ en.js

将您的插件名称添加到“常用”部分(当您将鼠标悬停在按钮上时显示为工具提示),并为您的插件添加整个块,包含所有字符串,如此....

// YouTube Dialog
youtube :
{
    properties      : 'YouTube Properties',
    propertiesTab   : 'Properties',
    title       : 'YouTube Properties',
    chkPlay     : 'Auto Play',
    chkLoop     : 'Loop',
    chkMenu     : 'Enable YouTube Menu',
    chkFull     : 'Allow Fullscreen',
    scale       : 'Scale',
    scaleAll        : 'Show all',
    scaleNoBorder   : 'No Border',
    scaleFit        : 'Exact Fit',
    access          : 'Script Access',
    accessAlways    : 'Always',
    accessSameDomain    : 'Same domain',
    accessNever : 'Never',
    align       : 'Align',
    alignLeft   : 'Left',
    alignAbsBottom: 'Abs Bottom',
    alignAbsMiddle: 'Abs Middle',
    alignBaseline   : 'Baseline',
    alignBottom : 'Bottom',
    alignMiddle : 'Middle',
    alignRight  : 'Right',
    alignTextTop    : 'Text Top',
    alignTop    : 'Top',
    quality     : 'Quality',
    qualityBest      : 'Best',
    qualityHigh      : 'High',
    qualityAutoHigh  : 'Auto High',
    qualityMedium    : 'Medium',
    qualityAutoLow   : 'Auto Low',
    qualityLow       : 'Low',
    windowModeWindow     : 'Window',
    windowModeOpaque     : 'Opaque',
    windowModeTransparent    : 'Transparent',
    windowMode  : 'Window mode',
    flashvars   : 'Variables for YouTube',
    bgcolor : 'Background color',
    width   : 'Width',
    height  : 'Height',
    hSpace  : 'HSpace',
    vSpace  : 'VSpace',
    validateSrc : 'URL must not be empty.',
    validateWidth : 'Width must be a number.',
    validateHeight : 'Height must be a number.',
    validateHSpace : 'HSpace must be a number.',
    validateVSpace : 'VSpace must be a number.'
}

答案 3 :(得分:4)

这些是CKEditor 3.x的一些插件

CKEditor插件

Highslide JS插件, LrcShow插件, FileIcon插件, InsertHtml插件, SyntaxHighlighter插件

下载:CKEditor 3.x Plugins

答案 4 :(得分:2)

也请尝试此链接。将为您提供更多关于CKEditor插件创建的深度。

http://www.sayopenweb.com/plugin-for-ckeditor/

答案 5 :(得分:2)

CKEditor文档网站上有一个非常详尽的教程,请参阅:CKEditor Plugin SDK - Introduction

此时它涵盖:

  • 创建编辑器命令
  • 使用图标
  • 创建工具栏按钮
  • 有关如何在CKEditor中注册插件的说明
  • 使用两个选项卡创建插件对话框窗口
  • 添加上下文菜单
  • 高级内容过滤器(ACF)集成(在separate page上)

如果您有兴趣创建自己的小部件,请同时查看Widgets SDK Tutorial

答案 6 :(得分:1)

关于在Drupal上下文中创建CKEditor插件的这篇文章也很有用http://mito-team.com/article/2012/collapse-button-for-ckeditor-for-drupal

有关于使用自定义按钮构建您自己的CKEditor插件的代码示例和分步指南。

答案 7 :(得分:1)

要添加自定义图标,您需要编辑皮肤/ moono / * .css 对于编辑器本身,您需要在以下文件中添加相同的CSS类

  • editor.css
  • editor_gecko.css(firefox)
  • editor_ie.css
  • editor_ie7.css
  • editor_ie8.css
  • editor_iequirks.css

CSS按钮类的格式名称是 .cke_button __ myCustomIcon _icon

您可以使用自己的图片文件作为图标,也可以编辑sprite /skins/moono/icons.png来添加图标。

plugin.js 中,您需要具有类似

的内容
editor.ui.addButton('myplugin',
{
    label: 'myplugin',
    command: FCKCommand_myplugin,
    icon: 'myCustomIcon'
});

答案 8 :(得分:0)

关于字体真棒,我能够使用CSS实现这一点:

span.cke_button_icon.cke_button__bold_icon {
    position: relative !important;
    background-image: none !important;

  &:after {
    font-family: FontAwesome;
    position: absolute;
    font-size: 16px;
    content: "\f032";
  }
}