PHP

Yii extension CKEditor с бесплатным файловым менеджером

Для подключения CKEditor к YII, я использовал расширения из yiiext. Скачиваем его и распаковываем в каталлог с расширениями. У меня получилось: application.extensions.ckeditor

Теперь создаем в этом каталоге, папку assets и распаковываем туда файлы самого CKEditor, которые скачиваем с официально сайта (я скачал ckeditor 4). Виджет отказался запускаться ссылаясь на некоторые ошибки. Чтобы он заработал открываем файл ECKEditor.php идем на строку 69 и меняем:
private $skin='moono';

на
public $skin='moono'; // тут также можем указать свою тему

Дальше функция setLanguage($value), меняем:
if(isset($this->allowedLanguages[$language]))
    $this->language=$language;

на
if(isset($this->allowedLanguages[$lang]))
    $this->language=$lang;

Теперь виджет можно подключить следующим образом, как стандартный виджет yii.
<?php $this->widget('application.extensions.ckeditor.ECKEditor', array(
      'model'=>$model,
      'attribute'=>'html',
      'language'=>'ru',
      'editorTemplate'=>'full',
      'height'=>'500px'
)); ?>

editorTemplate может быть также basic. В CKEditor 4 в конфигах не получается указать сразу несколько шаблонов как в предыдущих версиях редактора, поэтому в коде extesions дописал при выборе basic версии, такой вот код в replace:
if($this->editorTemplate=='basic') {
      $js =<<<EOP
CKEDITOR.replace('{$name}', { toolbarGroups : [
 
    { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
    { name: 'paragraph',   groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ] },
    { name: 'styles' },
    { name: 'colors' }],
    height: '$this->height'});
EOP;
    }
    else {
      $js =<<<EOP
CKEDITOR.replace('{$name}',{$options});
EOP;
    }


Надеюсь что это сэкономит кому то не мало времени.
Добавлено: 13 Сентября 2013 02:30:41 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...