Источник: mwoa.ru
FCKeditor, пожалуй, является самым настраиваемым и мощным WYSIWYG редактором. Задача состояла в том, как же можно использовать этот мощный редактор для публикации новостей на сайте? После некоторых попыток анализа не было найдено никакого решения, кроме как внедрение непосредственно в сам код.
Всего вам придется отредактировать два файла. Один из них является файлом ExpressionEngine, другой - частью FCKeditor. Я загрузил папку с редактором в /system/modules dir. Теперь приступим к редактированию.
fckeditor_php5.php
В зависимости от того, какой версией PHP вы пользуетесь, вы должны будете отредактировать либо этот файл, либо файл fckeditor_php4.php. Для того, чтобы редактор мог работать с системой, нам необходимо вернуть результаты в переменную, вместо того, чтобы вывести сразу же на экран (EE использует переменную $r). По умолчанию редактор использует оператор echo чтобы вывести результаты своей работы на экран, но нам это абсолютно не надо, поэтому мы должны запенить оператор echo на return.
Найдите метод Create() и замените его следующим кодом:
function Create()
{
// было
// echo $this->CreateHtml() ;
return $this->CreateHtml() ;
}
cp.publish.php
Теперь, после того, как мы научили FCKeditor работать с ExpressionEngine, нам нужно сказать EE о том, что мы будем использовать. Откройте файл cp.publish.php file в директории /system/cp directory. Вы должны найти строчку, которую мы будем менять. В моей EE 1.6.2 это была 2747ая строчка:
$r .= $DSP->input_textarea(’field_id_’.$row[’field_id’], $field_data, $rows, ‘textarea’, ‘100%’, $field_js, $convert_ascii, $text_direction);
Закомментируйте эту строчку и вставьте после неё следующее:
include_once(dirname(__FILE__)."/../modules/fckeditor/fckeditor.php");
$oFCKeditor = new FCKeditor(’field_id_’.$row[’field_id’]) ;
$oFCKeditor->BasePath = ‘modules/fckeditor/’;
$oFCKeditor->Value = $field_data;
$r .= $oFCKeditor->Create();
Вот и все Вы получили работающую версию fckEditor в EE. Однако для полной совместимости вам необходимо загрузить пустой файл с именем lang.fckeditor.php в system/language/english dir, так как до этого мы поместили наш FCKeditor в директорию modules, а ExpressionEngine пытается найти языковой файл для каждой папки, расположенной в директории modules .
Для загрузки файлов надо отредактировав файл коннектора, который располагается примерно в следующем месте: /editor/filemanager/connectors/php