Drupal + WYSIWIG + TinyMCE 3. Как добавить свою кнопку на панель?

max аватар
133
Находится в разделах:

      При набивании этого сайта контентом, я использовал много разметки и тегов, такие как подсветка синтаксиса через Syntax Highlighter, вставка информационных колонок и т.д. И все время приходилось переключаться в HTML режим редактора TinyMCE. Со временем этот процесс превратился в рутину и я стал частенько избегать использования всех этих наворотов из-за нежелания тратить время на однотипные операции.

      Тут пришла в голову идея автоматизировать этот процесс путем написания функционала на javascript и прикрутки его на обработчик новых кнопок, чтобы все делалось одним нажатием. Как человек, никогда не писавший под TinyMCE, да и вообще на javascript, потратил около половины дня на безрезультатные поиски мануалов и howto для создания кнопок и плагинов под TinyMCE. В принципе, документация на официальном сайте довольно легкая в понимании, но вот тот факт, что tinymce использовался не в чистом виде, а через drupal, да еще к тому же он использовался через модуль-контейнер для редакторов - WYSIWIG.

Для связки Drupal + WYSIWIG + TinyMCE 3.x ничего путевого не нашел.

Поэтому, решил рассмотреть все мельчайшие вопросы и подробности, которые могут заинтересовать человека, связавшегося с drupal-wysiwig-tinymce.

info pictureКак добавить свою собственную кнопку в TinyMCE 3 или как создать свой плагин для TinyMCE 3?

 

В первую очередь, при использовании модуля WYSIWIG (который к тому же очень удобен при использовании множества редакторов), необходимо отредактировать файл tinymce.inc. У меня на сайте он находится в папке  /modules/wysiwyg/editors/.

Дописываем в конце функции, которая находится в конце файла

следующий код:

 

Заменяем все вхождения insertinfo на имя своего модуля. При чем имя папки модуля = имени модуля. 

Структура папок модуля:

 

editor_plugin.js будет автоматически подтягиваться tinymce.

info.png - это картинка для кнопки

 

в editor_plugin.js содержится вся логика плагина.

 

А теперь подробно, что творится в этом файле.

Плагин является очень примитивным и вставляет в tinymce вот такую табличку:

Где шаблонный текст вставляется редактором.

Я часто использую его при создании контента и мне приятно иметь у себя такую кнопочку.

 

И так,  вернемся к editor_plugin.js

 

Когда все действия совершены,  в настройках tinymce должна появится наша кнопка:

 

Переходим в режим создания контента (story, page и т.д.) и видим на панели нашу кнопку:


Конец
Константин Дмитриевич Ушинский абсолютно уверен в том, что воля наша, как и наши мускулы, крепнет от постоянно усиливающейся деятельности; не давая им упражнения, вы непременно будете иметь слабые мускулы и слабую волю.

Спасибо большое за информацию, очень помогло :)

Отправить комментарий

CAPTCHA
Чтобы оставить комментарий, введите пожалуйста код, изображенный на картинке
Image CAPTCHA
Введите символы, изображенные на картинке