Настройка Tiny_MCE
В свое время долго мучался с редактором TinyMCE, который идет в стандартной сборке ЛС-а. По роду деятельности я не программер, по этой причине пустяковые проблемы почти не имели решений, но все же я смог осилить настройку и изменение этого редкатора.

2. Набор смайликов (не qip);
3. Нет глюка с заголовками;
4. Добавлено несколько кнопок;
5. При включении редактора не отключается стандартный в комментах;
2. На сайте Tiny MCE есть плагин смайликов, но те смайлики мне очень не понравились. На форуме одного знакомого были очень добродушные желтые человечки, которыми он со мной поделился и я их вкрутил к себе на сайт (по словам знакомого — смайлики бесплатные).
3. Полное описание глюка с загаловками можно найти тут. Разобраться никто не помог, поэтому был сделан финт ушами, в результате которого была изменена одна из стандартных кнопок редактора.
4. На 100% не помню, что за кнопки я добавлял и сколько именно их добавил (редактор переделывал еще в эпоху 0.3.1). Мне нехватало полноэкранного режима написания топика — решено.
5. Никогда не понимал этой настройки в ЛС-е. Если реч идет об Tiny MCE, то почему отключается стандартный редактор из комментов при включении Tiny MCE для публикации топиков? Решение данной проблемы — 1 символ, но об этом ниже.
2. В сборке настроенные стили с моего сайта L2Plus.ru, по этой причине тем, кому данная цветовая гамма (заголовков) не подойдет — нужно менять самим.
P.s.: внешний вид и функционал кнопочек можно посмотреть все тут-же www.L2Plus.ru
2. Копируем из архива папку engine на сервер (замены файлов не будет т.к. папка ложиться рядом с дефолтным Tiny MCE)
3. Нам нужно указать, какие теги вырезать и какие параметры у тегов разрешать. Для этого итем в engine/modules/text/text.class.php и настраиваем теги. В архиве лежат два файла, первый и из который — родной (966 сборка — релиз 0.4.2), а второй — измененный.
Описывать изменения тут не вижу смысла, т.к. можно просто сравнить содержимое функции protected function JevixConfig().
4. В этом же файле нужно выключить перенос строк в топике и включить в комментариях. Стандартными средставми этого сделать нельзя, поэтому вмешиваемся в код.
Находим:
Заменяем:
Находим:
Заменяем:
5. Теперь нам нужно переключить редактор с дефлтного на обновленный. Идем в этот файл templates/skin/new/actions/actiontopic/add.tpl
Находим:
Заменяем на:
6. Возвращаем стандартный редактор в комментарии. Идем в этот файл templates/skin/new/comment_tree.tpl
Находим:
Заменяем на:
P.S.: на создание данного топика подтолкнула эта тема. На уникальность и идеальность решения не претендую т.к. редактор настраивал исключительно для себе… Может кому-то и пригодится.

Чем моя сборка отличается от той, что в ЛС-е?
1. Корректная расстановка переносов строк;2. Набор смайликов (не qip);
3. Нет глюка с заголовками;
4. Добавлено несколько кнопок;
5. При включении редактора не отключается стандартный в комментах;
Чуть подробнее о каждом пункте
1. В сборке LS-а при включении редактора Tiny MCE образуется двойной перенос строк. Если отключить авто-перенос, то в редакторе все начинает работать как нужно, а в комментах строки более не переносятся. Спасибо Dr_Death, который помог решить проблему (ссылка на топик)2. На сайте Tiny MCE есть плагин смайликов, но те смайлики мне очень не понравились. На форуме одного знакомого были очень добродушные желтые человечки, которыми он со мной поделился и я их вкрутил к себе на сайт (по словам знакомого — смайлики бесплатные).
3. Полное описание глюка с загаловками можно найти тут. Разобраться никто не помог, поэтому был сделан финт ушами, в результате которого была изменена одна из стандартных кнопок редактора.
4. На 100% не помню, что за кнопки я добавлял и сколько именно их добавил (редактор переделывал еще в эпоху 0.3.1). Мне нехватало полноэкранного режима написания топика — решено.
5. Никогда не понимал этой настройки в ЛС-е. Если реч идет об Tiny MCE, то почему отключается стандартный редактор из комментов при включении Tiny MCE для публикации топиков? Решение данной проблемы — 1 символ, но об этом ниже.
Недостатки
1. Это не плагин. Плагины я делать не умею…2. В сборке настроенные стили с моего сайта L2Plus.ru, по этой причине тем, кому данная цветовая гамма (заголовков) не подойдет — нужно менять самим.
P.s.: внешний вид и функционал кнопочек можно посмотреть все тут-же www.L2Plus.ru
Хочу!
1. Качаем хак из раздела модулей или с моего сайта (пока хак на модерации)2. Копируем из архива папку engine на сервер (замены файлов не будет т.к. папка ложиться рядом с дефолтным Tiny MCE)
3. Нам нужно указать, какие теги вырезать и какие параметры у тегов разрешать. Для этого итем в engine/modules/text/text.class.php и настраиваем теги. В архиве лежат два файла, первый и из который — родной (966 сборка — релиз 0.4.2), а второй — измененный.
Описывать изменения тут не вижу смысла, т.к. можно просто сравнить содержимое функции protected function JevixConfig().
4. В этом же файле нужно выключить перенос строк в топике и включить в комментариях. Стандартными средставми этого сделать нельзя, поэтому вмешиваемся в код.
Находим:
// Отключение авто-добавления
$this->oJevix->cfgSetAutoBrMode(true);
Заменяем:
// Отключение авто-добавления
$this->oJevix->cfgSetAutoBrMode(false);
Находим:
public function JevixParser($sText,&$aError=null) {
$sResult=$this->oJevix->parse($sText,$aError);
return $sResult;
}
Заменяем:
public function JevixParser($sText,&$aError=null) {
if (Config::Get('view.tinymce')) {
$this->oJevix->cfgSetAutoBrMode(!preg_match('/<p([^>]*)>|<\/p>/isu', $sText));
}
$sResult=$this->oJevix->parse($sText,$aError);
return $sResult;
}
5. Теперь нам нужно переключить редактор с дефлтного на обновленный. Идем в этот файл templates/skin/new/actions/actiontopic/add.tpl
Находим:
{if $oConfig->GetValue('view.tinymce')}
<script type="text/javascript" src="{cfg name='path.root.engine_lib'}/external/tinymce_3.2.7/tiny_mce.js"></script>
<script type="text/javascript">
{literal}
tinyMCE.init({
mode : "textareas",
theme : "advanced",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_buttons1 : "lshselect,bold,italic,underline,strikethrough,|,bullist,numlist,|,undo,redo,|,lslink,unlink,lsvideo,lsimage,pagebreak,code",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
theme_advanced_resize_horizontal : 0,
theme_advanced_resizing_use_cookie : 0,
theme_advanced_path : false,
object_resizing : true,
force_br_newlines : true,
forced_root_block : '', // Needed for 3.x
force_p_newlines : false,
plugins : "lseditor,safari,inlinepopups,media,pagebreak",
convert_urls : false,
extended_valid_elements : "embed[src|type|allowscriptaccess|allowfullscreen|width|height]",
pagebreak_separator :"<cut>",
media_strict : false,
language : TINYMCE_LANG
});
{/literal}
</script>
Заменяем на:
{if $oConfig->GetValue('view.tinymce')}
<script type="text/javascript" src="{cfg name='path.root.engine_lib'}/external/tinymce/tiny_mce.js"></script>
<script type="text/javascript">
{literal}
tinyMCE.init({
mode : "textareas",
theme : "advanced",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_buttons1 : "formatselect,bold,italic,underline,strikethrough,|,bullist,numlist,|,undo,redo,|,lslink,unlink,|,forecolor,|,emotions,blockquote,|,lsvideo,lsimage,|,sub,sup,|,fullscreen,pagebreak,code",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
theme_advanced_resize_horizontal : 0,
theme_advanced_resizing_use_cookie : 0,
theme_advanced_path : false,
object_resizing : true,
force_br_newlines : false,
forced_root_block : '', // Needed for 3.x
force_p_newlines : true,
plugins : "lseditor,safari,inlinepopups,media,pagebreak,fullscreen,emotions",
convert_urls : false,
extended_valid_elements : "embed[src|type|allowscriptaccess|allowfullscreen|width|height]",
pagebreak_separator :"<cut>",
media_strict : false,
height:500,
language : TINYMCE_LANG
});
{/literal}
</script>
6. Возвращаем стандартный редактор в комментарии. Идем в этот файл templates/skin/new/comment_tree.tpl
Находим:
{if !$oConfig->GetValue('view.tinymce')}
Заменяем на:
{if $oConfig->GetValue('view.tinymce')}
P.S.: на создание данного топика подтолкнула эта тема. На уникальность и идеальность решения не претендую т.к. редактор настраивал исключительно для себе… Может кому-то и пригодится.
57 комментариев
Кто умеет и не трудно, пожалуйста переделайте в плагин.
Но все же поддерживаю тему перевода хака в плагин! ))
Пункт 3 точно сделали? Там как-раз настройка тегов, которые не должны вырезатьсяю
страниц с картинками оооочень много (почти все)
сделал почти все так же как и было описано за исключением 3 пункта, взял из указанного архива измененный файл и заменил ими файл engine/modules/text/text.class.php который стоял по умолчанию., по этому 4 пункт не выполнял. в итоге изменений не обнаружил. изгалялся на 4.2.0. подскажите где и что я пропустил или не сделал!!!
Пункт 5-й сделан? Если сделан и не работает то стоит обратить внимание на платные плагины. К примеру, у меня стоит плагин avadim-a (aceBlogExtender), который перекрывает вывод данного файла и для корректного отображения редактора нужно вносить аналогичные изменения в файл дизайна aceBlogExtender-а
Если есть админка, очень легко проверить, заходите вашсайт/admin/site/settings/ и в группе «Редактирование», ставим галочку на пункте «Использовать визуальный редактор TinyMCE:»
Удачи!
Админка не нужна именно для работы редактора
1. установил лс 4.2.0, админку самую свежую, поиск
2. начал действовать по описанным пунктам
а. скачал занова твой хак
б. копирую на сервер папку classes, пр иэтом она мне говорит что она хочет заменить ту что уже лежит на сервере, тада я открываю твою папку классы и вырезаю от туда папку либ и скидываю в папку классы на серве
в. engine/modules/text/text.class.php делаю хитрее. В архиве лежат два файла, первый и из который — родной (966 сборка — релиз 0.4.2), а второй — измененный. беру сразу измененный тобою и втыкаю его в папку по указанному пути, при этом старый файл удаляю а твой переименовываю так как он должен был быть.
г. 4 пункт не трогаю так как твой файл уже изменен. я проверял все ровно.
д. templates/skin/new/actions/actiontopic/add.tpl — делаю в точности как ты и написал.
е. templates/skin/new/comment_tree.tpl все так же
вот. немного отойду от повествования. када установил лс залез в админку и поставил галку по поводу «Использовать визуальный редактор TinyMCE» — потом проверил — да все работает тулбарка изменилась
ну вот и так после всех превращений в итоге я захожу в написание нового топика и у мя вообще нету тулбарки. пропала. где я лажанул????
Попробуй добавить в файл config/config.local.php эту строку
При этом в админке поставь галочку «использовать TinyMCE»
Отпишись, поможет или нет.
P.s.: у меня тоже начал редактор «неадвекватно» себя весьти когда я экспериментировал с включением/выключеним его в админке (не админка виновата, а я горе-программер :)
1. Копировать lib надо (вопреки инструкции) не в папку classes, а в папку engine (именно там находится оригинальная версия редактора, и именно туда указывает переменная path.root.engine_lib, которая используется в коде подключения нового редактора)
2. Папка с новым редактором называется tiny_mce, а в коде подключения написано tinymce, надо поменять либо там, либо там.
Вообщем-то, неоднократно народ просил это в плагин переделать, может все же найдется тот, кто оформит плагин?
2. Папка с новым редактором называется tiny_mce, а в коде подключения написано tinymce, я поменял название папки на tinymce. и все заработало)))
а теперь сложный вопрос. к примеру я хочу оставить стандартные кнопки которые шли при установке, но к ним хочу прикрутить смайлы из tiny_mce. такой вообще реально реализовать???
Исправлено несколько ошибок, из-за которых возникали проблемы при установке.
версия лс — 0.4.2
Данный пункт может быть сделан, но не работать в том случае, если какой-то из плагинов у Вас перехватывает страничку написания топика (к примеру — aceBlogExtender). Если есть такой файл, то нужно и в него добавить по аналогии пункту 5.
добавил в разрешённые теги div, table, при публикации tinymce видит table, но не восприниамет class в теге div и id в теге table, в результате получаю таблицу без стилей и в голом диве и перед ним кучу
. что-то, наверное, надо ещё подкрутить в text.class.php, но не могу догнать, что конкретно :)
Чтобы у тега table не вырезался class добавьте строку:
аналогично с div-ом
Добавлять строки по аналогии с существующими (там все просто — достаточно взглянуть на код)
Сегодня сам вставлял таблицу и искал потом, откуда столько БРок перед ней.
Таблицу надо вставлять в одну строку, без переносов, тогда будет выглядеть нормально.
1. Скачал
2. Скопировал из архива папку engine на сервер в корневой каталог, там где точно такая же папка
3. В архиве лежало 2 файла, я взял файл «после» и содержимое из него заменил то что было в файле engine/modules/text/text.class.php
4.Нашел заменил, нашел заменил
5. и тоже нашел заменил нашел заменил
6. и тут эту строчку нашел и заменил
в итоге выглядит при добавлении топика —
в добавлении комментария —
2) Изначально TinyMCE доступен только для топиков. Чтоб его включить для коментов юзайте плагин «редактирования коментов + TinyMce»
в другом случае
Во втором случае активен стиль «Paragraf» и не удается его отменить. Где это настраивается?