2013-03-23 75 views
0

我在我的Rails应用程序中使用CKEditor(通过'ckeditor'gem)。 我已经定制了如下的工具栏。正如你所看到的,我只想要最少量的功能。如何在CKEditor中自定义单个按钮(不是整个工具栏)

[ 
    { name: 'basicstyles', items : [ 'Bold','Underline' ] }, 
    { name: 'paragraph', items : [ 'NumberedList','BulletedList' ] }, 
    { name: 'links', items : [ 'Link' ] }, 
    { name: 'insert', items : [ 'Smiley','SpecialChar' ] }, 
    { name: 'colors', items : [ 'TextColor' ] }, 
]; 

这工作正常,但按钮提供比我需要更多的功能。

例如,Link按钮会触发一个弹出窗口,允许用户选择链接类型和目标等详细信息。我想限制我的用户只有一种链接。 (即当他们点击link按钮时,他们所需要做的就是输入链接,他们看不到任何选项并且没有做出决定。)

对于文本颜色,我只想要两种或三种颜色,而不是在提供的50多个。

如何进行这些更改?

如果您可以提供输入或指向某些资源,我将不胜感激。谢谢!

回答

1

要进行这些更改,您需要重新编写所需的插件以便自定义其功能。

你可以在这里找到更多的信息看:http://docs.ckeditor.com/#!/guide/plugin_sdk_intro

为了不破坏与新版本的兼容性,我建议你创建一个基于你要修改的,而不是在做直接的那些新的插件了源代码。

+0

Thanks @Robyflc。听起来好像没有简单的解决方案,但在你提供的链接和其他人的示例(http://ckeditor.com/addons/plugins/all)之间,我想我可以弄清楚什么。 – umezo 2013-03-23 15:14:37

1

您可以尝试我们在CKEditor 4.1中引入的高级内容过滤器。根据您可以定义编辑器数据的内容规则进行过滤,UI也会发生相同 - 仅显示“允许”按钮和对话框中的字段。这一切都是自动发生的,所以结果可能并不完美,但我们对此功能有非常积极的反馈。

检查the ACF samplerelease note

+0

谢谢@Reinmar,这很有帮助,但似乎并不符合我的确切需求。 (例如,链接标记为我提供了一个弹出式窗口,只有一个空白输入字段用于URL,而“确定/取消”按钮,以及其他任何内容)。 原来,我已经有大约90%的方法使用像linkShowAdvanceTab = false这样的选项,但是当我开始做全面的修复时,会让你知道。 – umezo 2013-03-25 15:35:53

+1

是的 - 整合不充分,因为ACF是非常新的功能。有些事情你需要手动配置。但是,从一组允许的内容规则开始,这很好,因为它会配置数据过滤器,以清理例如一个粘贴的数据。 – Reinmar 2013-03-25 17:07:19