dkemens / yii2-aws-s3-manager
Requires
- php: >=7.4
- 2amigos/yii2-tinymce-widget: ~1.1
- aws/aws-sdk-php: ^3.64
- league/flysystem: ^2.0
- league/flysystem-aws-s3-v3: ^2.0
- thiagotalma/yii2-jstree: ~1.0.0
- tinymce/tinymce: 5.10.3
- yiisoft/yii2: ~2.0.0
- yiisoft/yii2-imagine: *
README
A Yii 2 extension for managing files in AWS S3 buckets
此扩展为 AWS S3 存储桶 中文件的 Yii 框架 2.0 提供了一种非常可定制的文件管理方法。它可以独立使用,作为表单字段的回调,或与 TinyMCE 集成。
有关许可证信息,请查看 LICENSE 文件。
安装
安装此扩展的首选方式是通过 composer。
运行以下命令之一
php composer.phar require --prefer-dist skylineos/yii2-s3manager
或
"skylineos/yii2-s3manager": "~3.0.0"
将其添加到您的 composer.json 文件的 require 部分。
配置
要使用此扩展,您应该在 Web 配置中添加该模块。模块本身的配置可以在此处或动态完成。
return [ //.... 'modules' => [ 's3manager' => [ 'class' => 'skylineos\yii\s3manager\Module', // All settings can be configured on the fly regardless of usage type (fileinput, standalone manager, tinymce plugin) 'configuration' => [ 'bucket' => 'your-bucket-name', // can be overriden with \Yii::$app->params['s3bucket'] 'version' => 'latest', 'region' => 'your-bucket-region', // can be overriden with \Yii::$app->params['s3region'] 'scheme' => 'http', ], ], ] ];
请确保检查 widgets 文件夹以查找公开的参数。
使用
独立
只需导航到 /s3manager
与文件输入(活动表单)一起
在您的表单中添加以下内容(例如 views/post/form.php)
use skylineos\yii\s3manager\widgets\{FileInput, MediaManagerModal};
您希望表单字段出现的位置
<label>My Field</label> <?= FileInput::widget(['model' => $model, 'attribute' => 'myField']) ?>
然后,在页面底部(在您的 <?php ActiveForm::end(); ?>
之后) <?= MediaManagerModal::widget(['s3region' => 'us-east1', 's3bucket' => 'my-bucket-name']) ?>
与 TinyMCE 一起
在您的 form.php 中
use skylineos\yii\s3manager\widgets\{TinyMce, MediaManagerModal};
您希望放置 TinyMCE 的位置(客户端选项主要取决于您)
<?= $form->field($model, 'content')->widget(TinyMce::className(), [ 'options' => ['rows' => 15], 'clientOptions' => [ 'plugins' => [ "advlist autolink lists link charmap print preview anchor", "searchreplace visualblocks code fullscreen", "insertdatetime media table contextmenu paste image" ], 'menubar' => 'edit insert view format table tools help', 'toolbar' => "undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image" ] ]);?>
然后,在页面底部(在您的 <?php ActiveForm::end(); ?>
之后) <?= MediaManagerModal::widget(['s3region' => 'us-east1', 's3bucket' => 'my-bucket-name']) ?>