Конечно, самый лучший путь - воспользоваться готовой сборкой. Но вот в сборку MODx 9.6.3. входит TinyMCE, но с нелюбимым нами файловым менеджером. Мы разыскали сборку TinyMCE213AFM.
Можно попытаться сделать свою сборку. Мы попытались - надо было соединить TinyMCE 3.2.1.1 и AFM 4. Но не получилось - увы. Слишком много непонятных нюансов - то одно не работает, то другое.
Здесь нужна иная квалификация.
Её можно поставить по инструкции, распаковав папку install и зайдя в неё из браузера. А можно и проще. Вот так мы делали "downgrade" с 3.2.0.1 до 2.1.3:
- распаковываем в assets/plugins/tinymce213afm и в assets/plugins/ajaxfilemanager соответствующий набор папок из сборки.
- копируем в буфер содержимое файла plugin.tinymce.tpl
- открываем Ресурсы - Управление ресурсами - Плагины - TinyMCE и вставляем код плагина, заменив код для версии 3.2.0.1.
- изменяем описани плагина - там номер версии есть.
Вот и всё! После обновления (возможно и сброса кэша браузера) у нас подлючена другая версия редактора TinyMCE.
Далее приступаем к проверке и доводке до наших требований.
Настройки языка
Язык нашей MODx русский, кодировка UTF-8. Все языковые файлы в ней, база и прочее.
Для редактора TinyMCE, по идее, можно подключать разные языковые файлы. И русских даже два - для UTF-8 и для windows-1251. На самом деле языковые константы содержатся во множестве файлов ru.js - в разных подкаталогах. Эти файлы в кодировке UTF-8. Редактировать ничего не надо. Но, если где-то в TinyMCE вместо русского текста будет нечто - придется залезть в эти файлы для правки. Разумеется, ненужные языковые файлы мы стерли - все, кроме en.js и ru.js.
Править языковые файлы лучше всего в Notepad++. Там и кодировку можно преобразовать, и проверить, какая установлена.
Внимание! Кодировка в Notepad++ должна называться Кодировать в UTF-8 (без BOM). BOM (Byte Order Mask) - это специальная сигнатура, невидимая человеку. Она сообщает, что файл в кодировке UTF-8. Наличие BOM может вызвать сбои в работе скриптов. Обычно это выражается в появлении сообщения об ошибке вида: Warning: Cannot modify header information - headers already sent by (output started at... Избавиться от BOM можно с помощью различных утилит. Найдите, например, utf8-bom-remover.exe, натравите на папку MODx (установив маски файлов *.php *.js) и эта программа очистит файлы от ненужных вам меток.
Вот файл tinymce.lang.php подправить нужно. Там есть опечатка - вместо $tinyLang[] = array("russian-UTF8","ru") написано $tinyLang[] = array("russion-UTF8","ru"). Заодно мы удалили отсюда ссылки на lang-файлы "разных там прочих шведов".
Кроме того, russian-UTF8.inc.php оказался английским и там пришлось сделать перевод 13 строк, которые отображаются в полях Конфигурации сайта, относящихся к TinyMCE.
Написать комментарий
Реплика №2: 26.04.2012, 17:17:37
Реплика №1: 26.09.2009, 21:08:59