vova07 / yii2-imperavi-widget
为 Yii 2 框架提供的 imperavi redactor 小部件。
2.0.11
2019-03-26 11:39 UTC
Requires
- yiisoft/yii2: *
Requires (Dev)
- mikey179/vfsstream: ~1
- phpunit/phpunit: 4.*
- scrutinizer/ocular: ~1.1
This package is auto-updated.
Last update: 2024-08-28 09:46:20 UTC
README
Imperavi Redactor Widget
是对 Imperavi Redactor 10.2.5 的包装,一个高质量的 WYSIWYG 编辑器。
注意,Imperavi Redactor 本身是一个专有商业版权软件,但由于 Yii 社区购买了 OEM 许可证,您可以在 Yii 中免费使用。
安装
安装此扩展的首选方法是通过 composer。
运行以下命令之一:
$ php composer.phar require --prefer-dist vova07/yii2-imperavi-widget "*"
或添加
"vova07/yii2-imperavi-widget": "*"
到您的 composer.json
文件的 require
部分。
使用方法
安装扩展后,只需在您的代码中简单使用它即可
像小部件一样
echo \vova07\imperavi\Widget::widget([ 'name' => 'redactor', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'plugins' => [ 'clips', 'fullscreen', ], 'clips' => [ ['Lorem ipsum...', 'Lorem...'], ['red', '<span class="label-red">red</span>'], ['green', '<span class="label-green">green</span>'], ['blue', '<span class="label-blue">blue</span>'], ], ], ]);
像 ActiveForm 小部件一样
use vova07\imperavi\Widget; echo $form->field($model, 'content')->widget(Widget::className(), [ 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'plugins' => [ 'clips', 'fullscreen', ], 'clips' => [ ['Lorem ipsum...', 'Lorem...'], ['red', '<span class="label-red">red</span>'], ['green', '<span class="label-green">green</span>'], ['blue', '<span class="label-blue">blue</span>'], ], ], ]);
像预定义 textarea 的小部件一样
echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'plugins' => [ 'clips', 'fullscreen', ], 'clips' => [ ['Lorem ipsum...', 'Lorem...'], ['red', '<span class="label-red">red</span>'], ['green', '<span class="label-green">green</span>'], ['blue', '<span class="label-blue">blue</span>'], ], ], ]);
添加已上传的图片
// DefaultController.php public function actions() { return [ 'images-get' => [ 'class' => 'vova07\imperavi\actions\GetImagesAction', 'url' => 'http://my-site.com/images/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. 'options' => ['only' => ['*.jpg', '*.jpeg', '*.png', '*.gif', '*.ico']], // These options are by default. ], ]; } // View.php echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'imageUpload' => Url::to(['default/image-upload']), 'imageManagerJson' => Url::to(['/default/images-get']), 'plugins' => [ 'imagemanager', ], ], ]);
添加已上传的文件
// DefaultController.php public function actions() { return [ 'files-get' => [ 'class' => 'vova07\imperavi\actions\GetFilesAction', 'url' => 'http://my-site.com/files/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. 'options' => ['only' => ['*.txt', '*.md']], // These options are by default. ], ]; } // View.php echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'fileUpload' => Url::to(['default/file-upload']), 'fileManagerJson' => Url::to(['/default/files-get']), 'plugins' => [ 'filemanager', ], ], ]);
上传图片
// DefaultController.php public function actions() { return [ 'image-upload' => [ 'class' => 'vova07\imperavi\actions\UploadFileAction', 'url' => 'http://my-site.com/images/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. ], ]; } // View.php echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'imageUpload' => Url::to(['/default/image-upload']), 'plugins' => [ 'imagemanager', ], ], ]);
上传文件
// DefaultController.php public function actions() { return [ 'file-upload' => [ 'class' => 'vova07\imperavi\actions\UploadFileAction', 'url' => 'http://my-site.com/files/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. 'uploadOnlyImage' => false, // For any kind of files uploading. ], ]; } // View.php echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'fileUpload' => Url::to(['/default/file-upload']), 'plugins' => [ 'filemanager', ], ], ]);
上传并替换同名文件
// DefaultController.php public function actions() { return [ 'file-upload' => [ 'class' => 'vova07\imperavi\actions\UploadFileAction', 'url' => 'http://my-site.com/files/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. 'uploadOnlyImage' => false, // For any kind of files uploading. 'unique' => false, 'replace' => true, // By default it throw an excepiton instead. ], ]; } // View.php echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'fileUpload' => Url::to(['/default/file-upload']), 'plugins' => [ 'filemanager', ], ], ]);
上传文件并 translit 它的名称
// DefaultController.php public function actions() { return [ 'file-upload' => [ 'class' => 'vova07\imperavi\actions\UploadFileAction', 'url' => 'http://my-site.com/files/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. 'uploadOnlyImage' => false, // For any kind of files uploading. 'unique' => false, 'translit' => true, ], ]; } // View.php echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'fileUpload' => Url::to(['/default/file-upload']), 'plugins' => [ 'filemanager', ], ] ]);
添加自定义插件
echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'plugins' => [ 'clips', 'fullscreen' ] ], 'plugins' => [ 'my-custom-plugin' => 'app\assets\MyPluginBundle', ], ]);
启用具有删除功能的自定义图片管理器
// DefaultController.php public function actions() { return [ 'images-get' => [ 'class' => 'vova07\imperavi\actions\GetImagesAction', 'url' => 'http://my-site.com/images/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. ], 'image-upload' => [ 'class' => 'vova07\imperavi\actions\UploadFileAction', 'url' => 'http://my-site.com/images/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. ], 'file-delete' => [ 'class' => 'vova07\imperavi\actions\DeleteFileAction', 'url' => 'http://my-site.com/statics/', // Directory URL address, where files are stored. 'path' => '/var/www/my-site.com/web/statics', // Or absolute path to directory where files are stored. ], ]; } // View.php echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'imageUpload' => Url::to(['/default/image-upload']), 'imageDelete' => Url::to(['/default/file-delete']), 'imageManagerJson' => Url::to(['/default/images-get']), ], 'plugins' => [ 'imagemanager' => 'vova07\imperavi\bundles\ImageManagerAsset', ], ]);
启用具有删除功能的自定义文件管理器
// DefaultController.php public function actions() { return [ 'files-get' => [ 'class' => 'vova07\imperavi\actions\GetFilesAction', 'url' => 'http://my-site.com/images/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. ], 'file-upload' => [ 'class' => 'vova07\imperavi\actions\UploadFileAction', 'url' => 'http://my-site.com/files/', // Directory URL address, where files are stored. 'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored. 'uploadOnlyImage' => false, // For any kind of files uploading. ], 'file-delete' => [ 'class' => 'vova07\imperavi\actions\DeleteFileAction', 'url' => 'http://my-site.com/statics/', // Directory URL address, where files are stored. 'path' => '/var/www/my-site.com/web/statics', // Or absolute path to directory where files are stored. ], ]; } // View.php echo \vova07\imperavi\Widget::widget([ 'selector' => '#my-textarea-id', 'settings' => [ 'lang' => 'ru', 'minHeight' => 200, 'fileUpload' => Url::to(['/default/file-upload']), 'fileDelete' => Url::to(['/default/file-delete']), 'fileManagerJson' => Url::to(['/default/files-get']), ], 'plugins' => [ 'filemanager' => 'vova07\imperavi\bundles\FileManagerAsset', ], ]);
测试
$ phpunit
更多信息
请查看 Imperavi Redactor v10 文档以获取有关其配置选项的更多信息。
贡献
请参阅 CONTRIBUTING 获取详细信息。
致谢
许可证
BSD 许可证(BSD)。请参阅 许可证文件 了解更多信息。
升级指南
请查看 UPGRADE GUIDE 获取详细信息。