as-milano/yii2-tinymce

用于在应用中使用TinyMce编辑器的Yii2扩展,支持Compressor和FileManager

安装量: 2,138

依赖者: 0

推荐者: 0

安全: 0

星标: 0

分支: 0

语言:JavaScript

类型:yii2-extension

dev-master 2018-05-09 19:17 UTC

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类继承,并实现getFileBrowserCallbackregisterAsset函数。

拼写检查器

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]
]) ?>