Небольшая инструкция по интеграции FCKeditor (популярный WYSIWYG-редактор). ДЕМО
1) Качаем FCKeditor разархивируем архив и кладем его в папку js вашей темы например .../templates/skin/new/js/fckeditor/
2) Настраиваем интерфейс, темы FCKeditor и прочие функции по желанию пользуясь документацией. Настоятельно рекомендую убрать большую часть лишних кнопок %) их там сшиком много… и поставить тему аля МСОфис 2003. Вся настройка осуществляется в файлах fckconfig.js и fckeditor.js так же не забудьте настроить filemanager /fckeditor/editor/filemanager/connectors/php/config.php
3) Редактируем файл темы .../templates/skin/new/actions/ActionTopic/add.tpl заменяя весь код внутри {if $BLOG_USE_TINYMCE}...{/if} на:
{if $BLOG_USE_TINYMCE}
<script type="text/javascript" src="{$DIR_STATIC_SKIN}/js/fckeditor/fckeditor.js"></script> // // Указываем путь до fckeditor
{literal}
<script type="text/javascript">
window.onload = function()
{
var oFCKeditor = new FCKeditor( 'topic_text' ) ;
oFCKeditor.BasePath = "/templates/skin/new/js/fckeditor/" ; // Указываем точный путь до fckeditor, для его внутренних нужд.
oFCKeditor.ReplaceTextarea() ;
}
</script>
{/literal}
{/if}
Аналогично редактируем файл /templates/skin/new/actions/ActionPage/add.tpl только не забываем указать в строчке
var oFCKeditor = new FCKeditor( 'topic_text' ) ;
правильное имя textarea к которой прикручивается редактор в данном случае это будет 'page_text'. В коде этих двух страниц я удалил весь текст касающийся остальных редкторов, но как понимаю делать это не обязательно.
4) Теперь при включении TINYMCE в конфиге будет работать FCKeditor.
Косяки на данный момент:
1) Чтобы результат работы редактора полноценно отражался на сайте придется обойти внутренний парсер, для этго в файле .../templates/skin/new/topic строчку
{$oTopic->getText()}
придется заменить на
{$oTopic->getTextSource()}
2) Не работает тег , я решил эту проблему с помощью статьи Авто Анонс, что даже удобнее на мой взгляд.
3) Не работает предпросмотр, самый простой выход удалить эту кнопку :)
6 комментариев
Кстати может кто подскажет почему "$sTextShort = substr ($sText, 0, 200 — strlen (strrchr (substr ($sText, 0, 500), ' ')));" в ActionTopic.class.php какую бы цифру не сатвил вместо 200 размер текста не меняется.
упс, видимо здесь в комментариях нельзя теги писать…
А нельзя как-нибудь cut заставить работать? Автокат, конечно, хорошо, но он иногда не в тех местах, где нужно встает. Например, при использовании списков ul и т.п.
6 комментариев
В прошлом году написал мини плагин для smarty и везде его использую:
закидывается в smarty\plugins\function.fckeditor.php
И потом в шаблоне просто:
Также есть параметры ToolbarSet=«Имя тулбара», Width и Height. Можно было сделать больше, но мне этого хватало.
В нашем случае для ЛС вместо
Можно было бы вставить
И все:)
и т.п.
А нельзя как-нибудь cut заставить работать? Автокат, конечно, хорошо, но он иногда не в тех местах, где нужно встает. Например, при использовании списков ul и т.п.