ckeditor自定义插件流程

搞了一上午,最后发现原因原来出在某路径少打一个“/”,真是害人不浅。

 

本次只是熟悉一下写ckeditor插件的流程,所以用的是samples里api_dialog.js的代码作为弹出窗口。

 

首先第一步,在ckeditor/plugins目录下新建文件夹作为插件目录,我新建了一个myplugin文件夹。

 

然后在myplugin文件夹下新建两个东西,一个是plugin.js文件,另一个是dialogs文件夹。

 

plugin.js内容如下:

 

CKEDITOR.plugins.add('myplugin',
	{		
		requires : ['dialog'],
		init : function (editor)
		{
			var pluginName = 'myplugin';
			
			//加载自定义窗口,就是dialogs前面的那个/让我纠结了很长时间
			CKEDITOR.dialog.add('myDialog',this.path + "/dialogs/mydialog.js");
			
			//给自定义插件注册一个调用命令
			editor.addCommand( pluginName, new CKEDITOR.dialogCommand( 'myDialog' ) );
			
			//注册一个按钮,来调用自定义插件
			editor.ui.addButton('MyButton',
					{
						//editor.lang.mine是我在zh-cn.js中定义的一个中文项,
						//这里可以直接写英文字符,不过要想显示中文就得修改zh-cn.js
						label : editor.lang.mine,
						command : pluginName
					});
		}
	}
);

 

 

然后在dialogs文件夹下新建一个mydialog.js,内容如下:

 

CKEDITOR.dialog.add( 'myDialog', function( editor )
{
	return { 
		title : 'My Dialog',
		minWidth : 400,
		minHeight : 200,
		contents : [
			{
				id : 'tab1',
				label : 'First Tab',
				title : 'First Tab',
				elements :
				[
					{
						id : 'input1',
						type : 'text',
						label : 'Input 1'
					}
				]
			}
		]
	};
} );

 

 然后修改config.js文件以配置我的自定义插件,config.js内容如下:

 

CKEDITOR.editorConfig = function( config )
{
	config.language = 'zh-cn';
	config.skin = 'office2003';
	config.width = 800; 
	config.height = 300; 
	config.removePlugins = 'elementspath';
	config.extraPlugins = 'myplugin'; //新建插件
	
	config.toolbar= 

		[ 

		['unlink','-','Save','unlink','Preview','-','Templates'], 

		['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print','SpellChecker','Scayt'], 

		['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'], 

		'/', 

		['Bold','Italic','Underline','Strike','-','Subscript','Superscript'], 

		['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'], 

		['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], 

		['Link','Unlink','Anchor'], 

		['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar', 

		'PageBreak'], 

		'/', 

		['Styles','Format','Font','FontSize'], 

		['TextColor','BGColor'], 

		['Maximize','ShowBlocks','-','About','-','MyButton'] //我的按钮在最后

		]; 

	

};

 

然后就ok了。在作出修改之后最好清下ie缓存再刷新页面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值