Создание и использование плагинов FCKeditor
Как и обещал ранее, выкладываю перевод документации по плагинам FCKeditor.
Данный текст является вольным переводом официальной документации по созданию и использованию плагинов FCKeditor
Создание плагина
Структура каталога для плагина должна всегда соответствовать одному шаблону. Каталог с плагином должен иметь то же имя, чтои плагин, и он должен содержать файл fckplugin.js. Также каталог плагина может включать каталог переводов пользовательского интерфейса плагина на другие языки. Каждый языковой файл определяет один язык, и их имена (без .js) - это то, что следует указывать в методе FCKConfig.Plugins.Add. Если ваша команда не содержит пользовательского интерфейса, то вам нет нужды создавать языковые файлы.
Для плагина 'findreplace', структура будет выглядеть выглядеть примерно так (в качестве пути к плагинам у нас будет выступать editor/plugins/):
/editor/plugins/findreplace/fckplugin.js
/editor/plugins/findreplace/lang/en.js
/editor/plugins/findreplace/lang/it.js
Файл fckplugin.js определяет ваш плагин. Здесь должны регистрироваться команды, связанные с плагином, и элементы панели инструментов для каждму файлу. ой из них.
// Регистрируем связанные команды.
FCKCommands.RegisterCommand(
'My_Find' ,
new FCKDialogCommand(
FCKLang['DlgMyFindTitle'] ,
FCKLang['DlgMyFindTitle'] ,
FCKConfig.PluginsPath + 'findreplace/find.html' ,
340,
170
)
) ;
FCKCommands.RegisterCommand(
'My_Replace' ,
new FCKDialogCommand(
FCKLang['DlgMyReplaceTitle'],
FCKLang['DlgMyReplaceTitle'] ,
FCKConfig.PluginsPath + 'findreplace/replace.html',
340,
200
)
) ;
// Создаем кнопку "Find" на панели инструментов.
var oFindItem = new FCKToolbarButton( 'My_Find', FCKLang['DlgMyFindTitle'] ) ;
oFindItem.IconPath = FCKConfig.PluginsPath + 'findreplace/find.gif' ;
FCKToolbarItems.RegisterItem( 'My_Find', oFindItem ) ;
// 'My_Find' - это имя, использованное в конфиге панели инструментов.
// Создаем кнопку "Replace" на панели инструментов.
var oReplaceItem = new FCKToolbarButton( 'My_Replace', FCKLang['DlgMyReplaceTitle'] ) ;
oReplaceItem.IconPath = FCKConfig.PluginsPath + 'findreplace/replace.gif' ;
FCKToolbarItems.RegisterItem( 'My_Replace', oReplaceItem ) ;
// 'My_Replace' это имя, использованное в конфиге панели инструментов
.
Установка и добавление плагина
Установка
Чтобы установить плагин, скопируйте распакованный каталог этого плагина в каталог plugins вашего редактора (editor/plugins). Т.е., для плагина "placeholder", путь к основному файлу будет 'editor/plugins/placeholder/fckplugin.js'. После этого, плагин можно считать установленным, и остается его добавить к редактору.
Добавление
Теперь вы можете добавить плагин в конфигурационном файле. Вы можете также использовать другой путь и добавить плагин, или использовать третий параметр в методе FCKConfig.Plugins.Add, чтобы определить путь к плагину:
// Изменяет путь к плагинам по умолчанию.
FCKConfig.PluginsPath = FCKConfig.BasePath.substr(0, FCKConfig.BasePath.length - 7) + '_samples/_plugins/' ;
// Добавляем наш плагин к списку включенных плагинов.
// FCKConfig.Plugins.Add( pluginName, availableLanguages )
// pluginName: Имя плагина. Каталог плагина должен соответствовать этому имени.
// availableLanguages: список доступных языковых файлов для плагина (через запятую).
FCKConfig.Plugins.Add( 'findreplace', 'en,it,fr' ) ;
FCKConfig.Plugins.Add( 'samples' )
// Если хотите подключить плагин из другого каталога, укажите путь к нему в третьем параметре функции
var sOtherPluginPath = FCKConfig.BasePath.substr(0, FCKConfig.BasePath.length - 7) + 'editor/plugins/' ;
FCKConfig.Plugins.Add( 'placeholder', 'en,it,de,fr', sOtherPluginPath ) ;
FCKConfig.Plugins.Add( 'tablecommands', null, sOtherPluginPath ) ;
FCKConfig.Plugins.Add( 'simplecommands', null, sOtherPluginPath ) ;
Рецепты плагинов
Здесь вы сможете найти дополнительные методы конфигурации, которые позволят вам лучше настроить плагины:
- Establishing a button in the toolbar
- Example on how to access the editor from a popup window
- Example on how to associate a context menu (right click menu) option
Дополнительная информация
Вы можете скачать плагины с соответствующей странички на Sourceforge. Инструкции иногда идут вместе с плагинами. Если нет, вы можете попробовать воспользоваться стандартной инструкцией.
Вот несколько хороших примеров реального создания плагинов, которые интегрируются с редактором:
- Основанный на диалоге (открывается новое окно) http://sourceforge.net/forum/forum.php?thread_id=1268047&forum_id=257180.
- Основанное на выделении (выделить, затем нажать кнопку) http://sourceforge.net/forum/message.php?msg_id=3091867
К вопросу о монетизации сайтов - интересная статейка "продажа ссылок на сайпе" от seoadd.ru. Рассказывается даже про продажу ссылок из блогов на ya.ru.
WebGid.org - система коллективного поиска. Товарищи нестандартно подошли к реализации поисковой системы, основав ее на человеческой модерации и оценке информации.
- Статьи схожей тематики:
Новый плагин для FCKeditor - scaleimages
Документация по FCKeditor JavaScript API
Подключаем к FCKeditor видео с RuTube

Комментарии(8):
rss-лентаДобавлено: 2009-09-11 08:59:43, Denis
Добавлено: 2009-09-14 09:38:19, Elena
Добавлено: 2009-09-28 04:40:42, Максим Безрукав
Добавлено: 2009-10-17 03:27:42, Valera
Добавлено: 2009-10-17 16:13:50, Сергей
Добавлено: 2009-10-31 18:39:10, BigBoss
Добавлено: 2009-11-16 13:58:01, remix
Добавлено: 2009-12-10 21:03:38, jeanx