Creating Custom FCKeditor Combo Plugin
A simple demonstration on how to create custom FCKeditor combo plugin.
Introduction:
FCKeditor is a widely used html based text editor. In an earlier post I have shown how to integrate FCKeditor in ASP.Net. You can easily create and install custom plugin for FCKeditor.
Here I have prepared a custom month combo plugin. User can select month from January to December and insert the selected month into the editor.
Complete Scenario
Description:
Step 1:
Create a folder named “monthcombo” in “\editor\plugins” folder. Create a javascript file named “fckplugin.js” in the folder “monthcombo”. Now open the “fckplugin.js” file by any editor.
Step 2:
Inititalize the month combo as follows.
// Initialize the Month Combo var monthCombo = function (name) { this.Name = name; }
Step 3:
Create function for executing the command.
// Execute the Command monthCombo.prototype.Execute = function(itemText, itemLabel) { if (itemText != "") FCK.InsertHtml("<span>" + itemText + "</span>"); }
Step 4:
Create function for managing the plugin behavior.
// Manage the plugin behavior monthCombo.prototype.GetState = function() { return FCK_TRISTATE_OFF; // FCK_TRISTATE_OFF or FCK_TRISTATE_ON }
Step 5:
Register the month combo command.
// Register the command. FCKCommands.RegisterCommand( 'MonthCombo' , new monthCombo('Month Combo') ) ;
Step 6:
Create the toolbar button and set its prototype as follows.
// Create the toolbar button. var monthComboToolbar = function(tooltip, style) { this.CommandName = 'MonthCombo'; this.Label = this.GetLabel(); this.Tooltip = tooltip? tooltip : this.Label; this.Style = style; //FCK_TOOLBARITEM_ICONTEXT OR FCK_TOOLBARITEM_ONLYTEXT } // Set the toolbar prototype. monthComboToolbar.prototype = new FCKToolbarSpecialCombo;
Step 7:
Create function for the label of the toolbar that is to be appeared on the toolbar.
// Label to appear in the FCK toolbar monthComboToolbar.prototype.GetLabel = function() { return "Month Combo"; }
Step 8:
Add items to the combo list.
//Add the items to the combo list monthComboToolbar.prototype.CreateItems = function(A) { var months = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); for (var i = 0; i < months.length; i++) { this._Combo.AddItem(months[i], months[i]); } }
Step 9:
Register the combo with the FCKeditor.
//Register the combo with the FCKeditor FCKToolbarItems.RegisterItem('MonthCombo' , new monthComboToolbar( 'Month Combo', FCK_TOOLBARITEM_ICONTEXT ) ) ; // FCK_TOOLBARITEM_ONLYICON or FCK_TOOLBARITEM_ONLYTEXT or FCK_TOOLBARITEM_ICONTEXT
Step 10:
Save the “fckplugin.js”. We are near the end. Now open the “fckconfig.js” file located in the root directory. Add the month combo plugin as follows:
//Add Month Combo Plugin FCKConfig.Plugins.Add( 'monthcombo' );
Step 11:
Finally, add this combo [‘MonthCombo’] to FCKConfig.ToolbarSets["Default"] or FCKConfig.ToolbarSets["Basic"] settings as follows.
FCKConfig.ToolbarSets["Basic"] = [ ['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About', 'MonthCombo'] ] ;
Reference:
Creating & Installing a Plugin in FCKeditor
Conclusion:
Download the plugin here. MonthCombo
Tags: editor, FCKeditor, Javascript, Programming







February 6th, 2009 at 3:11 pm
easy to integrate and expand myself
thank you very much
building a better world together…
Steven
May 8th, 2009 at 7:52 pm
the itemLabel returns the value object instead of the text from the dropdown.
how do you reference this to return the text?
May 8th, 2009 at 7:55 pm
itemLabel shows up in the drop down, just not in the execute function
May 8th, 2009 at 8:22 pm
Only thing i noticed is if you have a dynamic php call via ajax on
your fckplugin.js on inital load the drop down works. On subsequent
loads (i.e. move off the page and back too it) the drop down won’t load.
errrrrrrrrrr
June 30th, 2009 at 4:32 pm
July 1st, 2009 at 10:54 am
Thanks.
July 2nd, 2009 at 5:13 pm
Thanks
Santhose
October 15th, 2009 at 2:36 am
November 6th, 2009 at 11:28 pm
November 24th, 2009 at 9:30 am
Great article! It was a great help!
Do you know how I can create a custom TextColor like drop down interface?
May 8th, 2010 at 4:37 am