wadeshuler/yii2-ckeditor-cdn

该软件包已被弃用且不再维护。未建议替代包。

为 Yii2 开发的 CKEditor CDN 扩展的无限制版本

安装次数6,678

依赖项: 1

建议者: 0

安全性: 0

星标: 4

关注者: 1

分支: 1

类型:yii2-extension

v1.0.1 2022-04-02 23:38 UTC

This package is auto-updated.

Last update: 2022-04-02 23:40:19 UTC


README

CKEditor 模块用于 Yii2。轻松将 CKEditor CDN 添加到您的 Yii2 应用程序中。

我曾尝试过 Redactor、TinyMCE 和 CKEditor。如果您只需要基本功能,如加粗/斜体,那么 Redactor 非常不错。我需要图片、字体大小、字体颜色、居中、项目符号列表等许多其他功能。我曾尝试 2Amigos CKEditor,但发现文档不足且使用困难。

我希望它能使用 CDN,轻松添加插件、更改皮肤、上传图片和文件,并能够直接从 CKEditor 工具栏配置器构建自己的配置。

它使用原始的 CKeditor CDN,但您可以轻松地使用任何您希望的 CDN(CloudFlare、Amazon S3 等)。

默认情况下,编辑器将使用 basic 预设。有什么区别?查看 CDN 的目录列表,您将看到每个预设。从那里,您可以看到为预设提供的插件和皮肤。它还将使用该预设中的 config.js,但这也很容易被覆盖。

安装

安装此扩展的首选方法是使用 composer

运行以下命令:

composer require wadeshuler/yii2-ckeditor-cdn:~1.0

"wadeshuler/yii2-ckeditor-cdn": "~1.0"

将以下内容添加到应用程序 composer.json 文件的 require 部分:

基本用法

将其添加到应用程序的配置中

'modules' => [
    'ckeditor' => [
        'class' => 'wadeshuler\ckeditor\Module',
    ],
],

将其添加到视图中

use wadeshuler\ckeditor\widgets\CKEditor;

<?= $form->field($model, 'text')->widget(CKEditor::className()) ?>

高级配置

您可以为插件添加功能、更改预设、覆盖控制器以设置自己的 filebrowserBrowseUrl、使用自己的 config.js。您应该能够使用我的扩展完成任何需要的功能!如果缺少或损坏了某些内容,请创建一个新问题并告知我。

以下是一个 示例配置,展示了 大多数 选项。我有很多选项已注释掉,所以请取您需要的部分 :)

'modules' => [
    'ckeditor' => [
        'class' => 'wadeshuler\ckeditor\Module',    // required and dont change!!!
        
        //'controllerNamespace' => 'wadeshuler\ckeditor\controllers\default',    // to override my controller
        //'preset' => 'basic',    // default: basic - options: basic, standard, standard-all, full, full-all
        //'customCdn' => '//cdnjs.cloudflare.com/ajax/libs/ckeditor/4.5.10/ckeditor.js',    // must point to ckeditor.js

        //'uploadDir' => '@app/web/uploads',    // must be file path (required when using filebrowser*BrowseUrl below)
        //'uploadUrl' => '@web/uploads',        // must be valid URL (required when using filebrowser*BrowseUrl below)
        
        // how to add external plugins (must also list them in `widgetClientOptions` `extraPlugins` below)
        //'widgetExternalPlugins' => [
        //    ['name' => 'pluginname', 'path' => '/path/to/', 'file' => 'plugin.js'],
        //    ['name' => 'pluginname2', 'path' => '/path/to2/', 'file' => 'plugin.js'],
        //],
        
        // passes html options to the text area tag itself. Mostly useless as CKEditor hides the <textarea> and uses it's own div
        //'widgetOptions' => [
        //    'rows' => '10',
        //],
        
        // These are basically passed to the `CKEDITOR.replace()`
        'widgetClientOptions' => [
            //'skin' => 'moono',    // must be in skins directory
            //'skin' => 'kama,http://cdn.ckeditor.com/4.5.10/standard-all/skins/kama/'    // skin from somehwere else - http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-skin
            //'extraPlugins' => 'abbr,inserthtml',     // list of externalPlugins (loaded from `widgetExternalPlugins` above)
            //'customConfig' => '@web/js/myconfig.js',
            //'filebrowserBrowseUrl' => '/ckeditor/default/file-browse',
            //'filebrowserUploadUrl' => '/ckeditor/default/file-upload',
            //'filebrowserImageBrowseUrl' => '/ckeditor/default/image-browse',
            //'filebrowserImageUploadUrl' => '/ckeditor/default/image-upload',
        ]
    ],

],

一个需要了解的重要事情是我们如何合并选项。配置是您的全局选项。它们将被传递到输入小部件的每个实例。如果您在输入小部件中直接声明了任何选项,它将覆盖配置中的内容。选项将合并,输入小部件的选项将具有优先权。

我强烈建议您创建自己的自定义 config.js,其中包含所有选项。如果您有多个具有不同选项的编辑器,您可以创建多个配置文件并在小部件中直接调用它们。例如,一个用于具有上传功能的管理员配置,另一个用于前端用户,大多数功能被移除以提高安全性。

CDN - 默认使用原始的 CKEditor CDN,但您可以更改它!在我上面提供的示例配置中,我将 //cdnjs.cloudflare.com/ajax/libs/ckeditor/4.5.10/ckeditor.js 作为 customCdn。您必须指向 ckeditor.js 文件,它将能够从那里找到插件和皮肤!您可以直接从他们的网站下载 CKEditor 库,手动添加您想要的任何额外插件或皮肤,并创建自己的 config.js。然后将其上传到您自己的 CDN,如 Amazon S3。好处是,您不必加载和链接到库中默认未包含的插件或皮肤。

更多配置

请查阅 CKEditor 文档 以获取更多配置选项。

注意:任何放入 CKEDITOR.replace() 中的内容都放入 widgetClientOptions(配置)或输入小部件的 clientOptions 中。

致谢

2amigos yii2-ckeditor-widget

CKEditor

yii2-redactor