
TinyMCE — замечательный и хорошо документированный WYSIWYG-редактор, а в Diferior родные ББ кнопки страшные и бажные. Поэтому нужно все это скрестить. ![]()
Для начала, вырубите все кеширование в админке. Это важно!
1. Идем на http://tinymce.moxiecode.com и берем последнюю стабильную версию TinyMCE.
2. Распаковываем из папки /jscripts/tiny_mce в архиве на сайт в папку /static/tiny_mce.
3. Открываем /templates/skio/index.tpl.php и вставляем на строке #18 (перед тегом style):
4. Открываем /tpl_resources/skio/scripts/javascript.js и добавляем в конец файла, за функцией read_cookie:
tinyMCE.init({
theme : "advanced",
mode : "exact",
elements : "txt,msg,comment",
plugins : "bbcode",
convert_urls : false,
theme_advanced_buttons1 : "bold,italic,underline,|,undo,redo,link,unlink,image,forecolor,blockquote,|,code",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "bottom",
theme_advanced_toolbar_align : "center",
entity_encoding : "raw",
add_unload_trigger : false,
remove_linebreaks : false,
});
Олей! Теперь у нас есть рабочий TinyMCE! ![]()

Но это еще не все, не работают кнопочки со смайликами и кнопка предпросмотра. Сейчас исправим.
Смайлики:
1. Открываем /tpl_resources/skio/scripts/javascript.js и вставляем на строке #288 за функцией add_bbcode:
// Smilies to TinyMCE
function add_smile ( smile )
{
tinyMCE.execCommand('mceInsertContent', false, smile)
}
2. Открываем /templates/skio/pm.tpl.php и заменяем строку #133 следующим:
<a href="javascript:add_smile(' {$k|escape:'javascript'} ')">{img src="`$imurl`smilies/`$v`.gif" alt="`$k`"}</a>
3. Открываем /templates/skio/file.tpl.php и заменяем строку #297 следующим:
<a href="javascript:add_smile(' {$k|escape:'javascript'} ')">{img src="`$imurl`smilies/`$v`.gif" alt="`$k`"}</a>
4. Открываем /templates/skio/forum.tpl.php и заменяем две строки, #272 и #322, следующим:
<a href="javascript:add_smile(' {$k|escape:'javascript'} ')">{img src="`$imurl`smilies/`$v`.gif" alt="`$k`"}</a>
5. Открываем [b]/templates/skio/read.tpl.php[/b] и заменяем строку #109 все тем же:
<a href="javascript:add_smile(' {$k|escape:'javascript'} ')">{img src="`$imurl`smilies/`$v`.gif" alt="`$k`"}</a>
Жмем Ф5 чтобы браузер подгрузил новые файлы и видим что смайлики теперь работают.

Кнопка предпросмотра:
1. Открываем /tpl_resources/skio/scripts/upload.js, удаляем строку #14 а затем заменяем строку #17 этим:
var data = 'content='+ escape ( tinyMCE.activeEditor.getContent() ) +'&cat='+ category.value +'&post='+ escape ( header.value);
Теперь кнопка работает нормально.

И наконец, нужно удалить ненужные дефолтные кнопки для ББ кодов.
1. Открываем /templates/skio/upload.tpl.php и удаляем все со строки #55 по #75.
2. Открываем /templates/skio/post.tpl.php и удаляем все со строки #32 по #56.
Вот и все, теперь можно включить кеширование.
Баги и прочее:
1. В TinyMCE нет фичи для изменения размера шрифта. Точнее, фича есть, но у меня она еще не работает. ![]()
2. Так же нет тэга [ code ] .
Все это я скоро починю… возможно.


0 Комментарии。