mranger / yii2-ckeditor
CKEditor Yii2 小部件通过官方的 ckeditor composer 包工作,并使用自定义预设。
1.2.4
2016-11-04 03:25 UTC
README
安装
php composer.phar require --prefer-dist mranger/yii2-ckeditor "*"
或者
"mranger/yii2-ckeditor": "*"
由于我无法正常实现对 CKEditor 包的依赖,原因不得而知。您需要自行将此包的依赖添加到您的 composer.json 文件中。我通常会指定最新版本的完整包依赖。
"ckeditor/ckeditor": "dev-full/4.7.x",
更详细的信息可以通过以下链接阅读:http://docs.ckeditor.com/#!/guide/dev_package_managers.
使用
use mranger\ckeditor\CKEditor; echo $form->field($model, 'content')->widget(CKEditor::className());
可以创建自己的预设,这些预设将存储您的编辑器设置。为此,您需要首先定义存储预设文件的目录(标准路径为 "@app/ckeditor-presets")。
预设代码示例和调用小部件
预设: default.php
return [ 'height' => '300px', 'toolbarGroups' => [ ['name' => 'basicstyles', 'groups' => ['basicstyles', 'colors', 'cleanup']], ['name' => 'styles'], ['name' => 'blocks'], ['name' => 'colors'], ['name' => 'document', 'groups' => ['mode', 'document', 'doctools']], ['name' => 'tools'], ['name' => 'others'], '/', ['name' => 'paragraph', 'groups' => ['list', 'indent', 'blocks', 'align', 'bidi']], ['name' => 'links'], ['name' => 'insert'], ['name' => 'clipboard', 'groups' => ['clipboard', 'undo']], ['name' => 'editing', 'groups' => ['find', 'selection', 'spellchecker']], ], 'filebrowserUploadUrl' => Url::to(['wysiwyg/image-upload'], true), ];
调用小部件
echo $form->field($model, 'content')->widget(CKEditor::className(), [ 'preset' => 'default', 'presetDirPath' => '@app/presets', //стандартный путь "@app/ckeditor-presets" можно не указывать ]);
为了允许通过编辑器上传文件,需要首先连接到必要的上传文件动作。控制器可以是任意的。
public function actions() { return [ 'ckeditor-file-upload' => [ 'class' => 'mranger\ckeditor\actions\FileUploadAction', ], ]; }
然后,在设置(预设)中指定执行文件上传请求的 URL。
[ 'filebrowserUploadUrl' => Url::to(['your-controller/ckeditor-file-upload'], true), ]
默认情况下,仅允许上传以下扩展名的文件:"png, jpg, jpeg, bmp, gif, ico, swf",文件上传路径为 '@webroot/upload'。如果需要更改这些参数,可以在应用程序的 params 数组中定义自己的参数,具体如下
[ 'CKEditorFileUploadAllowedExtensions' => 'gif, png, jpg', // разрешенные расширения файлов 'CKEditorFileUploadPath' => '@webroot/ckeditor', // путь для сохранения файлов 'CKEditorFileUploadedUrl' => 'http://mysite.ru/ckeditor', // ссылка, по которой будут доступны сохраненые файлы ]
在编辑器设置中,可以连接外部插件,为此需要在预设中添加一个包含以下格式的 'externalPlugins' 数组
return [ 'externalPlugins' => [ [ 'name' => '', // название плагина 'url' => '', // url до папки плагином 'fileName' => '' , // файл плагина ], ], ];