as-milano/ yii2-tinymce
用于在应用中使用TinyMce编辑器的Yii2扩展,支持Compressor和FileManager
Requires
- bower-asset/tinymce: ~4.7
- yiisoft/yii2: ~2.0.13
This package is auto-updated.
Last update: 2024-09-10 08:48:54 UTC
README
简化您在应用中使用TinyMCE WYSIWYG编辑器的Yii2扩展。
提供
- 小部件;
- 压缩器动作;
- 与elFinder等文件管理器的集成;
- 与Yandex等拼写检查服务的集成。
基于另一个扩展,增加了某些额外功能
- 将TinyMCE移至npm包,以始终拥有最新版本;
- 增加了与elFinder扩展的集成;
- (待办事项) 插入多个图片的图标;
- 解决了一些错误。现在一切正常工作。
安装
安装此扩展的首选方式是通过composer。
运行
php composer.phar require --prefer-dist as-milano/yii2-tinymce "*"
或将
"as-milano/yii2-tinymce": "*"
添加到您的composer.json
文件的require部分。
使用方法
小部件基本使用
$form->field($model, 'content')->widget(\milano\tinymce\TinyMce::className())
脚本压缩器
这可以用来优化小部件加载时间。
首先设置控制器映射
'controllerMap' => [
'tinyMce' => [
'class' => 'milano\tinymce\TinyMceController',
]
],
然后向小部件选项中添加配置好的动作的路由
$form->field($model, 'content')->widget(\milano\tinymce\TinyMce::className(), [
'compressorRoute' => 'tinyMce/tinyMceCompressor'
])
elFinder文件管理器
安装mihaildev/yii2-elfinder扩展。您可以仅包括
"mihaildev/yii2-elfinder": "*"
添加到您的composer.json
文件的require部分。
配置elFinder(更多信息这里)。
'controllerMap' => [
'elfinder' => [
'class' => 'mihaildev\elfinder\Controller',
'access' => ['@'],
'disabledCommands' => ['netmount'],
'roots' => [
[
'baseUrl'=>'@web',
'basePath'=>'@webroot',
'path' => 'files/global',
'name' => 'Global'
],
],
'watermark' => [
'source' => __DIR__.'/logo.png',
'marginRight' => 5,
'marginBottom' => 5,
'quality' => 95,
'transparency' => 70,
'targetType' => IMG_GIF|IMG_JPG|IMG_PNG|IMG_WBMP,
'targetMinPixel' => 200
]
]
],
然后在小部件中选择文件管理器提供者
$form->field($model, 'content')->widget(\milano\tinymce\TinyMce::className(), [
'fileManager' => [
'class' => \milano\tinymce\fm\MihaildevElFinder::className()
],
])
您可以自定义一些窗口(宽度和高度)和管理器(语言、过滤器、路径和多重)属性。如果想要使用不同的访问、水印和根设置,只需准备控制器
'controllerMap' => [
'elf1' => [
'class' => 'mihaildev\elfinder\Controller',
'access' => ['@'],
'roots' => [
[
'baseUrl'=>'@web',
'basePath'=>'@webroot',
'path' => 'files/global',
'name' => 'Global'
],
],
'watermark' => [
'source' => __DIR__.'/logo.png',
'marginRight' => 5,
'marginBottom' => 5,
'quality' => 95,
'transparency' => 70,
'targetType' => IMG_GIF|IMG_JPG|IMG_PNG|IMG_WBMP,
'targetMinPixel' => 200
]
],
'elf2' => [
'class' => 'mihaildev\elfinder\Controller',
'access' => ['*'],
'roots' => [
[
'path' => 'files/some1',
'name' => ['category' => 'my','message' => 'Some Name']
],
[
'path' => 'files/some2',
'name' => ['category' => 'my','message' => 'Some Name'],
'access' => ['read' => '*', 'write' => 'UserFilesAccess']
]
]
]
],
然后在小部件中指向所需的控制器
$form->field($model, 'content2')->widget(\milano\tinymce\TinyMce::className(), [
'fileManager' => [
'class' => \milano\tinymce\fm\MihaildevElFinder::className(),
'controller' => 'elf2'
]
])
任何文件管理器
您可以编写自己的文件管理器提供者。只需从\milano\tinymce\fm\FileManager
类继承,并实现getFileBrowserCallback
和registerAsset
函数。
拼写检查器
TinyMCE内置拼写检查插件,但需要后端支持。
您可以使用Yandex拼写检查服务。
$form->field($model, 'content')->widget(\milano\tinymce\TinyMce::className(), [
'spellcheckerUrl' => 'http://speller.yandex.net/services/tinyspell'
])
更多信息请参阅: http://api.yandex.ru/speller/doc/dg/tasks/how-to-spellcheck-tinymce.xml
或者,您可以使用由moxicode提供的代码构建自己的拼写检查服务:http://www.tinymce.com/download/download.php
组合功能
<?= $form->field($model, 'content')->widget(\milano\tinymce\TinyMce::className(), [
'compressorRoute' => 'site/tinyMceCompressor',
'fileManager' => [
'class' => \milano\tinymce\fm\MihaildevElFinder::className()
],
'spellcheckerUrl'=>'http://speller.yandex.net/services/tinyspell',
'options' => ['rows' => 6]
]) ?>