Imperavi Redactor Widget for Yii 2 开源项目最佳实践

Imperavi Redactor Widget for Yii 2 开源项目最佳实践

yii2-imperavi-widget Imperavi Redactor widget for Yii 2 yii2-imperavi-widget 项目地址: https://gitcode.com/gh_mirrors/yi/yii2-imperavi-widget

1、项目介绍

Imperavi Redactor Widget 是一个为 Yii 2 框架设计的 WYSIWYG 编辑器组件。它封装了 Imperavi Redactor 10.2.5,这是一个高质量的所见即所得编辑器。尽管 Imperavi Redactor 本身是一个商业软件,但由于 Yii 社区购买了 OEM 许可证,因此你可以免费与 Yii 一同使用。

2、项目快速启动

安装

推荐使用 Composer 安装此扩展。你可以通过以下命令安装:

$ php composer.phar require --prefer-dist vova07/yii2-imperavi-widget

或者,你可以在 composer.json 文件的 require 部分添加:

"vova07/yii2-imperavi-widget": "*"

使用

一旦扩展安装完成,你就可以在你的代码中像使用普通小部件一样使用它:

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>'],
        ],
    ],
]);

3、应用案例和最佳实践

添加已上传的图片

DefaultController.php 中定义获取图片的动作:

public function actions()
{
    return [
        'images-get' => [
            'class' => 'vova07\imperavi\actions\GetImagesAction',
            'url' => 'http://my-site.com/images/',
            'path' => '@alias/to/my/path',
            'options' => [
                'only' => ['*.jpg', '*.jpeg', '*.png', '*.gif', '*.ico'],
            ],
        ],
    ];
}

在视图文件中添加图片上传和管理的配置:

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/',
            'path' => '@alias/to/my/path',
            'options' => [
                'only' => ['*.txt', '*.md'],
            ],
        ],
    ];
}

在视图文件中添加文件上传和管理的配置:

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/',
            'path' => '@alias/to/my/path',
        ],
    ];
}

在视图文件中添加图片上传的配置:

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/',
            'path' => '@alias/to/my/path',
            'uploadOnlyImage' => false,
        ],
    ];
}

在视图文件中添加文件上传的配置:

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/',
            'path' => '@alias/to/my/path',
            'uploadOnlyImage' => false,
            'unique' => false,
            'replace' => true,
        ],
    ];
}

在视图文件中添加文件上传的配置:

echo \vova07\imperavi\Widget::widget([
    'selector' => '#my-textarea-id',
    'settings' => [
        'lang' => 'ru',
        'minHeight' => 200,
        'fileUpload' => Url::to(['default/file-upload']),
        'plugins' => ['filemanager'],
    ],
]);

4、典型生态项目

此项目主要是一个 Yii 2 框架的扩展,因此它的典型生态项目将与 Yii 2 框架的应用相关。它可以用于任何需要 WYSIWYG 编辑器的 Yii 2 项目,例如内容管理系统 (CMS)、博客平台、电子商务网站等。

以上是根据 Imperavi Redactor Widget for Yii 2 开源项目生成的教程,包含了项目介绍、项目快速启动、应用案例和最佳实践、典型生态项目等模块。希望对你有所帮助。

yii2-imperavi-widget Imperavi Redactor widget for Yii 2 yii2-imperavi-widget 项目地址: https://gitcode.com/gh_mirrors/yi/yii2-imperavi-widget

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柯兰妃Jimmy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值