lpedretti / ckeditor
CKEditor 插件用于 CakePHP
Requires
- cakephp/cakephp: ^3.7
Requires (Dev)
- phpunit/phpunit: ^5.7|^6.0
This package is auto-updated.
Last update: 2024-09-29 05:28:52 UTC
README
这是一个 CakePHP 3.x 插件,允许将 CKEditor 集成到应用程序中。
要求
- CakePHP 3.x
- PHP 5.4.6+
- CKEditor - 使用 CKEditor 的 CDN 自动加载 http://cdn.ckeditor.com/
包含
- CKEditor Helper
安装
Composer(最佳选择)
- 将以下内容添加到您的应用程序根目录下的
composer.json
文件中的require
部分。例如,/var/www/domain.com/composer.json
"require": { "funayaki/ckeditor": "dev-master" }
- 在应用程序根目录下运行以下命令
sudo php composer.phar update
注意:如果找不到 composer.phar
,您需要安装它。请参考 CakePHP 的文档 -> https://book.cakephp.com.cn/3.0/en/installation.html 中的安装 CakePHP 部分
Git 克隆
git clone git@github.com:akkaweb/AKKA-CakePHP-CKEditor-Plugin.git
下载
https://github.com/akkaweb/AKKA-CakePHP-CKEditor-Plugin/archive/master.zip
注意:当使用手动下载或 Git 克隆安装时,如果 CakePHP 抱怨找不到插件,您需要将插件添加到 vendor/cakephp-plugins.php
文件中的 plugins
数组 [] -> 'AkkaCKEditor' => $baseDir . '/plugins/AkkaCKEditor/'
。如果您使用 composer,运行 php composer.phar dumpautoload
可能就足够了。如果不起作用,请将以下内容添加到根应用程序的 composer.json
文件中的 "autoload"
部分: "psr-4":
部分: "AkkaCKEditor\\": "./plugins/AkkaCKEditor/src"
配置
- 在应用程序的
bootstrap.php
文件中加载插件
Plugin::load('AkkaCKEditor', ['bootstrap' => false, 'routes' => true]);
- 在
AppController.php
中加载插件的 Helper
class AppController extends Controller{ public $helpers = ['AkkaCKEditor.CKEditor']; }
- 可选地,您可以选择要加载的 CKEditor 版本和发行版。更多详细信息请参阅 http://cdn.ckeditor.com/
class AppController extends Controller { public $helpers = ['AkkaCKEditor.CKEditor' => [ 'distribution' => 'full', // Default Option / Other options => 'basic', 'standard' 'editor_config' => [] // Default Option / Other options https://ckeditor.npmjs.net.cn/docs/ckeditor4/latest/api/CKEDITOR_config.html ]]; }
用法
Helper 模板文件设置
- 在应用程序的
default.ctp
文件中,在</head>
标签之前添加<?php echo $this->CKEditor->loadJs(); ?>
。这将使 CKEditor 在整个应用程序中可用。它也可以在模板文件的第一行或您想要应用 CKEditor 的textarea
之前加载。
CKEditor.replace
在您想要应用 CKEditor 的 textarea 之后立即插入以下代码
// replace(field-name) -> replace takes field_name and can be used multiple times throughout your application <?php echo $this->Form->input('body'); ?> // Example <?php echo $this->CKEditor->replace('body'); ?>
免责声明
尽管我们已经进行了多次测试以确保此插件按预期工作,但我们建议您自行承担风险使用。与其他任何东西一样,您应该在测试环境中首先测试您应用程序的任何新增功能。请通过问题或拉取请求提供任何修复或改进。