mranger/yii2-ckeditor

CKEditor Yii2 小部件通过官方的 ckeditor composer 包工作,并使用自定义预设。

安装次数: 2,616

依赖者: 0

建议者: 0

安全: 0

星标: 3

关注者: 2

分支: 0

开放性问题: 0

类型:yii2-extension

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' => '' , // файл плагина
        ],
    ],
];