Arm1.ru

Пара настроек FCKEditor

Пара настроек FCKEditor

В качестве шпаргалки - чтобы быстро настроить FCKeditor. Хоть он уже и устарел и разработчики делают CKEditor - но в нём нет бесплатного файлового менеджера, а в CKEditor - есть.

Это что-то вроде шпаргалки для быстрого подключения FCKEditor.

  • Как сделать так, чтобы редактор делал HTML, а не XHTML:
    В папке с редактором конфиг-файл fckconfig.js, в нём параметр FCKConfig.DocType. По умолчанию он пуст и редактор генерирует код в xhtml-стандарте. Для перевода на html надо вбить туда:
    FCKConfig.DocType = '';
  • Настройка файлового менеджера:
    По адресу fckeditor/editor/filemanager/connectors/php есть файл config.php, в нём то и нужно установить $Config["Enabled"] = true ; (по умолчанию false) и задать пути для $Config["UserFilesPath"] и $Config["UserFilesAbsolutePath"].

Если вы хотите выдавать в коде textarea, а потом через JavaScript заменять их на wysiwyg-редактор, в CKEditor можно просто присвоить им class="ckeditor", в FCKEditor такого нет (или я не нашёл), поэтому если у на странице не 1 textarea, хочется как то все их автоматически заменить на визуальный редактор. FCKEditor, при таком варианте (замена через JavaScript) может обращаться к элементу только через атрибуты id или name. Т.к. id у двух элементов совпадать не может, а name используется частенько для отправки данных через форму, пришлось писать своё. Я загружаю редактор через script и присваиваю всем textarea class="fckeditor". Написал небольшой код на JavaScript с помощью jQuery, который сам заменяет все textarea:

$(document).ready( function() {
    var $textareas = $('textarea.fckeditor');

    if ( $textareas.length > 0 ) {
        $textareas.each(function() {
            var textareaName = $(this).attr('name');
            var oFCKeditor = new FCKeditor(textareaName);
            oFCKeditor.BasePath = "fckeditor/"; // тут должен быть ваш путь до fckeditor
            oFCKeditor.ReplaceTextarea();
        });
    }
});
keyboard_return back