<h3>วิà¸à¸µà¸à¸³ ckeditor plugins à¹à¸à¸à¸à¹à¸²à¸¢ ๠à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¸</h3>
<p>
<strong>วิà¸à¸µà¸à¸³ ckeditor plugins à¹à¸à¸à¸à¹à¸²à¸¢ ๠à¸à¸´à¸à¸à¸±à¹à¸à¹à¸à¹à¸à¸²à¸à¹à¸à¸</strong><br />
ckeditor à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¸±à¸à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸«à¸²à¸à¸à¹à¸§à¹à¸à¹à¸à¸à¹ à¸à¸à¸à¸à¸²à¸à¸à¸§à¸²à¸¡à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸¥à¸° plugins à¸à¸µà¹à¸¡à¸µà¹à¸«à¹à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸¡à¸²à¸à¸¡à¸²à¸¢à¹à¸¥à¹à¸§ ยัà¸à¹à¸à¸´à¸à¹à¸«à¹à¸à¸±à¸à¸à¸±à¸à¸à¸²à¸à¸±à¹à¸§à¹à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¸à¸² plugin à¹à¸§à¹à¹à¸à¹à¸à¸²à¸à¹à¸à¸à¸à¸µà¸à¸à¹à¸§à¸¢ à¸à¸±à¹à¸à¸à¸à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸¥à¸°à¸à¸´à¸à¸à¸±à¹à¸à¸à¹à¹à¸¡à¹à¹à¸à¹à¸¢à¸¸à¹à¸à¸¢à¸²à¸à¸à¸°à¹à¸£à¸¡à¸²à¸à¸¡à¸²à¸¢ ลà¸à¸à¸¡à¸²à¸à¸¹à¸à¸±à¸à¸à¸£à¸±à¸à¸§à¹à¸²à¹à¸£à¸²à¸à¸°à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸±à¸à¸à¸² ckeditor plugin à¹à¸à¹à¸à¸¢à¹à¸²à¸à¹à¸£ <!--more--></p>
<p></br></p>
<h4>สรà¹à¸²à¸à¹à¸à¸¥à¹ plugin.js à¹à¸¥à¸° icon</h4>
<p>1. สรà¹à¸²à¸ New Folder à¹à¸à¹à¸à¸¥à¹à¸à¹à¸ plugin à¸à¸à¸ ckeditor à¸à¸±à¹à¸à¸à¸·à¹à¸à¹à¸«à¹à¸ªà¸·à¹à¸à¸à¸§à¸²à¸¡à¸«à¸¡à¸²à¸¢à¸§à¹à¸² plugin à¸à¸³à¸à¸²à¸à¹à¸à¸µà¹à¸¢à¸§à¸à¸±à¸à¸à¸°à¹à¸£ à¹à¸à¸à¸à¸à¸§à¸²à¸¡à¸à¸µà¹à¸à¸¡à¸à¸°à¸à¸±à¹à¸à¸à¸·à¹à¸à¸§à¹à¸² plugin_name</p>
<p></br><br />
<strong>รูà¸à¹à¸ªà¸à¸à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸ ckeditor plugin</strong></p>
<pre class="lang:default highlight:0 decode:true " >plugins/à¸à¸·à¹à¸à¸à¸¥à¸±à¸à¸à¸´à¸à¸à¸µà¹à¹à¸£à¸²à¸ªà¸£à¹à¸²à¸/icons/icon.png 
plugins/à¸à¸·à¹à¸à¸à¸¥à¸±à¸à¸à¸´à¸à¸à¸µà¹à¹à¸£à¸²à¸ªà¸£à¹à¸²à¸/plugin.js</pre>
<p><img src="https://www.codebee.co.th/labs/wp-content/uploads/2017/01/วิà¸à¸µà¸à¸³-ckeditor-plugin-1.png" alt="วิà¸à¸µà¸à¸³-ckeditor-plugin" /><br />
</br><br />
2. à¹à¸à¹à¸à¸¥à¹à¸à¹à¸ plugin_name สรà¹à¸²à¸ New Folder à¸à¸±à¹à¸à¸à¸·à¹à¸à¸§à¹à¸² icons<br />
3. à¹à¸à¹à¸à¸¥à¹à¸à¹à¸ icons à¹à¸«à¹à¸§à¸²à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸à¸à¸µà¹à¸à¸°à¹à¸ªà¸à¸à¸à¸ toolbar à¸à¸à¸ ckeditor à¸à¸±à¹à¸à¸à¸·à¹à¸à¸§à¹à¸² icons.png<br />
4. à¹à¸à¹à¸à¸¥à¹à¸à¸·à¹à¸à¸«à¸¥à¸±à¸à¸à¸à¸ plugin_name สรà¹à¸²à¸à¹à¸à¸¥à¹ plugin.js à¹à¸¥à¸°à¹à¸à¸µà¸¢à¸à¸à¸³à¸ªà¸±à¹à¸à¹à¸à¸´à¹à¸¡ plugin à¸à¸±à¸à¸à¸µà¹</p>
<pre class="lang:default decode:true " >CKEDITOR.plugins.add( 'plugin_name', { // à¸à¸·à¹à¸à¹à¸à¸¥à¹à¸à¹à¸à¸«à¸£à¸·à¸à¸à¸·à¹à¸ plugin 
	init: function( editor ) { 
		editor.ui.addButton( 'plugin_name', { // à¹à¸à¸´à¹à¸¡à¸à¸¸à¹à¸¡à¹à¸à¸à¸µà¹ ckeditor toolbar 
				label: 'à¸à¸à¸ªà¸à¸à¹à¸à¸´à¹à¸¡ plugin', 
				command: 'plugin_command', // event à¹à¸¡à¸·à¹à¸à¸¡à¸µà¸à¸²à¸£à¸à¸¥à¸´à¸à¸à¸¸à¹à¸¡à¹à¸«à¹à¹à¸à¸à¸³à¸à¸±à¸à¸à¹à¸à¸±à¹à¸ plugin_command 
				toolbar: 'tools,1', 
				icon: this.path + 'icons/icon.png' 
		}); 
		editor.addCommand( 'plugin_command', { // à¹à¸¡à¸·à¹à¸à¸à¸¥à¸´à¸à¸à¸µà¹à¸à¸¸à¹à¸¡à¹à¸à¸à¸à¸à¸à¸°à¸à¸³à¸à¸²à¸à¸à¸±à¸à¸à¹à¸à¸±à¹à¸à¸à¸µà¹ 
			exec: function( editor ) { 
				// à¸à¸³à¸à¸²à¸à¸à¸£à¸à¸à¸µà¹à¸«à¸¥à¸±à¸à¸à¸²à¸à¸à¸à¸à¸¸à¹à¸¡ 
			} 
		}); 
			 
	} 
});</pre>
<p></br></p>
<h4>วิà¸à¸µà¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ plugin</h4>
<p>หลัà¸à¸à¸²à¸à¸à¸µà¹à¹à¸à¹à¸ªà¸£à¹à¸²à¸à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¹à¸à¸¥à¹à¸à¹à¸ à¹à¸¥à¸°à¹à¸à¸¥à¹ plugin.js à¹à¸£à¸µà¸¢à¸à¸£à¹à¸à¸¢à¹à¸¥à¹à¸§à¹à¸«à¹à¸à¸à¸¥à¸à¸à¹à¸à¸´à¸à¹à¸à¹à¸à¸²à¸ plugin à¹à¸à¸¢à¸à¸²à¸£à¸à¸´à¸à¸à¸±à¹à¸ plugin à¸à¸±à¹à¸à¸à¸°à¸¡à¸µà¸à¸¢à¸¹à¹ 2 สà¹à¸§à¸à¸à¹à¸§à¸¢à¸à¸±à¸à¸à¸·à¸<br />
1. à¹à¸à¸´à¹à¸¡à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸ plugin à¹à¸à¸´à¸à¹à¸à¸¥à¹ config.js à¸à¸à¸ ckeditor à¹à¸¥à¸°à¹à¸à¸´à¹à¸¡à¸à¸³à¸ªà¸±à¹à¸à¹à¸à¹à¸à¸²à¸ plugin </p>
<pre class="lang:default decode:true " > 
config.extraPlugins = 'plugin_name'; 
</pre>
<p>2. à¹à¸à¸´à¹à¸¡à¸à¸¸à¹à¸¡à¹à¸à¹à¸²à¹à¸à¸à¸µà¹ toolbar à¸à¸à¸ ckeditor à¹à¸à¸µà¸¢à¸à¸à¸³à¸ªà¸±à¹à¸à¸à¸µà¹à¹à¸à¸¥à¹ config.js à¸à¸±à¸à¸à¸µà¹</p>
<pre class="lang:default decode:true " >config.toolbar = [ 
	{ name: 'tools', items : [ 'plugin_name','About' ]} 
];</pre>
<p>à¹à¸à¹à¸à¹à¸²à¹à¸£à¸²à¹à¸à¹à¸à¸²à¸ ckeditor à¸à¸²à¸à¹à¸à¸¥à¹ sample.js à¸à¸¶à¹à¸à¹à¸à¹à¸à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸µà¹à¸à¸´à¸à¸¡à¸²à¸à¸à¸à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¹à¸«à¹à¹à¸à¹à¸à¸µà¸¢à¸à¸à¸µà¹à¹à¸à¸¥à¹ sample.js à¹à¸à¸¢à¹à¸à¸µà¸¢à¸à¹à¸à¸ªà¹à¸§à¸à¸à¸à¸ <strong>CKEDITOR.replace</strong> à¸à¸±à¸à¸à¸µà¹</p>
<pre class="lang:default decode:true " >CKEDITOR.replace( 'editor', 
{ 
	extraPlugins : 'plugin_name', 
	toolbar : 
		[ 
			[ 'Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink' ], 
			[ 'plugin_name' ] 
		] 
});</pre>
<p></br><br />
<strong>à¸à¸±à¸§à¸à¸¢à¹à¸²à¸ plugin à¹à¸¡à¸·à¹à¸à¸à¸¢à¸¹à¹à¸à¸ ckeditor toolbar</strong><br />
<img src="https://www.codebee.co.th/labs/wp-content/uploads/2017/01/วิà¸à¸µà¸à¸³-ckeditor-plugin-2.png" alt="วิà¸à¸µà¸à¸³-ckeditor-plugin" /><br />
</br></p>
<h4>วิà¸à¸µà¹à¸à¸´à¹à¸¡ dialog à¹à¸¡à¸·à¹à¸à¸à¸¥à¸´à¸à¸à¸µà¹à¹à¸à¸à¸à¸ plugin</h4>
<p>1. à¹à¸à¸ªà¹à¸§à¸à¸à¸à¸ <strong>editor.ui.addButton</strong> à¹à¸à¸¥à¸µà¹à¸¢à¸à¸à¸²à¸ plugin_command à¹à¸à¹à¸ dialog_command</p>
<pre class="lang:default decode:true " >command: 'dialog_command'</pre>
<p>2. à¹à¸à¹à¸à¸³à¸ªà¸±à¹à¸ addCommand à¹à¸à¸·à¹à¸à¸ªà¸£à¹à¸²à¸à¹à¸¥à¸°à¹à¸à¸´à¸ dialog</p>
<pre class="lang:default decode:true " >editor.addCommand('dialog_command', new CKEDITOR.dialogCommand('dialog_command'));</pre>
<p>3. สรà¹à¸²à¸ dialog ui à¹à¸à¸¢à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¸µà¹</p>
<pre class="lang:default decode:true " >CKEDITOR.dialog.add( 'dialog_command', function( editor ) 
{ 
 return { 
	 title : 'Upload Image', // สà¹à¸§à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸à¸ Window UI 
	 minWidth : 400, 
	 minHeight : 200, 
	 contents : [ // สà¹à¸§à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸à¸ Tab UI 
		 { 
			id : 'UploadTab', 
			label : 'First Tab', 
			title : 'First Tab', 
			elements : // สà¹à¸§à¸à¸à¸²à¸£à¸à¸±à¹à¸à¸à¹à¸²à¸à¸à¸ Element UI 
			[ 
			 { 
				 id : 'filedata', 
				 type : 'file', 
				 label : 'Select image file' 
			 } 
			] 
		 } 
	 ], 
	 buttons: [ // à¸à¸¸à¹à¸¡à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸ dialog 
			CKEDITOR.dialog.okButton, 
			CKEDITOR.dialog.cancelButton 
	 ], 
	 onOk : function() { // callback à¹à¸¡à¸·à¹à¸à¸à¸¥à¸´à¸à¸à¸¸à¹à¸¡ OK 
		 		 
	 } 
 }; 
} );</pre>
<p>à¸à¸à¸´à¸à¸²à¸¢à¹à¸à¹à¸à¸à¹à¸²à¸à¸à¸ à¸à¸¡à¹à¸à¹à¸ªà¸£à¹à¸²à¸ dialog à¸à¸¶à¹à¸à¸¡à¸² 1 à¸à¸±à¸ à¸à¸à¸²à¸ 400x200px มีà¹à¸à¹à¸à¹à¸à¸µà¸¢à¸§ à¹à¸à¹à¸à¹à¸à¸à¸±à¹à¸à¸à¸¡à¹à¸à¹à¹à¸à¸´à¹à¸¡ input field สำหรัภbrowse file à¹à¸¥à¸°à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸à¸²à¸à¸à¸¸à¹à¸¡ ok à¹à¸¥à¸° cancel à¸à¸µà¹à¹à¸à¹à¸ default à¸à¸à¸ ckeditor<br />
</br><br />
<strong>หà¸à¹à¸²à¸à¸²à¸à¸à¸ dialog à¸à¸µà¹à¸ªà¸£à¹à¸²à¸</strong><br />
<img src="https://www.codebee.co.th/labs/wp-content/uploads/2017/01/วิà¸à¸µà¸à¸³-ckeditor-plugin-3.png" alt="วิà¸à¸µà¸à¸³-ckeditor-plugin" /><br />
</br></p>

วิธีทำ ckeditor plugins แบบง่าย ๆ ติดตั้งใช้งานเอง

วิธีทำ-ckeditor-plugin-1
