Прикручиваем TinyMCE к Diferior

Diferior + TinyMCE

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 ] .

Все это я скоро починю… возможно.

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


*


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>