Итак, устанавливаем плагин sfCKEditorPlugin, как написано в документации к нему. Но учитываем следующее:
1. В autoload.yml вместо "recursive: on" надо писать "recursive: true" (начиная с symfony 1.3 используется более жесткий стандарт булевых значений в YAML)
2. Надо скачать сам редактор и распаковать в папку /web/ckeditor/ все файлы из архива.
3. В autoload.yml указываем путь к PHP-классам редактора:
path: %SF_WEB_DIR%/ckeditor
4. В app.yml указываем URL к файлам редактора (именно так - со слешем на конце):
ckeditor: basePath: "/ckeditor/"
5. Аналогично настраиваем файловый менеджер CKFinder (скачиваем, прописываем путь в autoload.yml, и не забываем, что эта штуковина платная). В файле ckfinder/config.php есть интересная функция CheckAuthentication(), которая сейчас просто return false. Предназначение этой функции - проверить, имеет ли текущий юзер право доступа к файловому менеджеру (просмотр и аплоад файлов). В комментариях к функции прямо указано - "не надо просто заменять на return true! Пораскинь мозгами и напиши проверку на авторизацию". От себя добавлю, что пока не придумал, как в эту функцию можно передать проверку на авторизацию. Есть идеи, товарищи?
6. В документации к плагину написано, что можно конфигурировать CKFinder так:
$this->widgetSchema['my_editor'] = new sfWidgetFormCKEditor(); $editor = $this->widgetSchema['my_editor']->getEditor(); $editor->config['param'] = value;
но что писать в value, если редактор принимает JSON? Пишем родные PHP-структуры:
$this->widgetSchema['my_editor'] = new sfWidgetFormCKEditor(); $editor = $this->widgetSchema['my_editor']->getEditor(); $editor->config['toolbar_Full']=array( array('Source','-','Save'), array('Cut','Copy'), );
Комментариев нет:
Отправить комментарий