marqu3s / yii2-summernote
Yii2 Summernote 小部件。基于 Bootstrap 的超级简单 WYSIWYG 编辑器
v1.0.2
2016-01-15 00:00 UTC
Requires
- bower-asset/codemirror: @stable
- bower-asset/summernote: 0.*
- yiisoft/yii2: ~2
README
Yii2 框架 和 Summernote 小部件。基于 Bootstrap 的超级简单 WYSIWYG 编辑器
安装
Composer
推荐通过 Composer 安装此扩展。
运行以下命令之一
php composer.phar require marqu3s/yii2-summernote "dev-master"
或
"marqu3s/yii2-summernote": "dev-master"
将以下内容添加到 composer.json 文件的 require 部分
使用方法
<?= $form->field($model, 'content')->widget(Summernote::className(), [
'clientOptions' => [
...
]
]); ?>
或
<?= Summernote::widget([
'name' => 'editor_id',
'clientOptions' => [
...
]
]); ?>
直接上传到 Amazon S3
要将编辑器中插入的图片上传到 S3,您需要配置一些选项。
<?= Summernote::widget([
'uploadToS3' => true,
'signEndpoint' => '/<controller>/sign-aws-request?v4=true',
'bucket' => 'S3-BUCKET-NAME',
//'folder' => '',
'folder' => new \yii\web\JsExpression("function() { return $('#aFormFieldId').val() + '/'; }"),
'filenamePrefix' => "'{$model->id}-'",
'maxFileSize' => 1024000,
'expiration' => gmdate('Y-m-d\TH:i:s.000\Z', strtotime('+5 minutes')),
'clientOptions' => [
...
]
]); ?>
然后,在您的控制器中,配置一个动作作为 signEndpoint,以便对上传图片的 POST 请求进行签名。
public function actions()
{
return [
'sign-aws-request' => [
'class' => 'common\actions\SignAwsRequestAction',
'clientPrivateKey' => 'AWS-KEY',
'clientPrivateSecret' => 'AWS-SECRET',
'expectedBucketName' => 'BUCKET-NAME',
'expectedHostName' => 'BUCKET-NAME',
'expectedMaxSize' => 'MAX-FILE-SIZE'
]
];
}
请参阅 clientOptions
原作者
Aleksandr Zelenin,电子邮件: aleksandr@zelenin.me
更新者
João Marques,电子邮件: joao@jjmf.com